红鱼儿

在Linux上部署uniGUI独立应用为服务

可以以 Linux 服务的形式部署独立应用程序,这将确保 Web 应用程序服务随着操作系统的启动自动启动。为了实现这一点,我们将在 /etc/systemd/system 文件夹下创建一个 Linux 服务。在此示例中,我们将使用 FishFacts 演示并尝试将其部署为 Linux 服务。
请登录您的 Linux 服务器并打开终端窗口。为了简化事情,我们以 root 身份记录。(如果您使用没有 root 访问权限的帐户登录,则应在每个命令之前添加 sudo 语句。
第一步是进入 /etc/systemd/system 文件夹。在这里,我们创建一个名为 <your_service_name>.service 的新文件。

root@vm:/# cd /etc/systemd/system
root@vm:/etc/systemd/system# nano fishfacts.service

这里我们使用 nano 编辑器创建一个名为 fishfacts.service 的新文件。
以下是示例服务文件的内容:

[Unit]
Description=FishFacts
After=network.target
[Service]
Type=simple
Restart=always
WorkingDirectory=/var/www/webapp
ExecStart=/var/www/webapp/fishfacts
ExecStop=/usr/bin/curl --max-time 10 http://127.0.0.1:8077/?action=terminate
ExecStop=/bin/sleep 5
[Install]
WantedBy=multi-user.target

Description=FishFacts
//这将描述您的服务名称

After=network.target
//表示我们的服务应该在网络子系统准备就绪后运行

Type=simple
//这是一个简单的服务

Restart=always
//服务将始终在故障或意外终止后重新启动

WorkingDirectory=/var/www/webapp
//服务的工作目录

ExecStart=/var/www/webapp/fishfacts
//服务可执行二进制文件的路径。在这里,我们已将名为 fishfacts 的演示二进制文件部署到 /var/www/webapp 文件夹。请始终记住,Linux 是一个区分大小写的作系统。
//演示的输出是一个名为 FishFacts 的文件。在这里,我们在部署之前将其重命名为 fishfacts。

ExecStop=/usr/bin/curl --max-time 10 http://127.0.0.1:8077/?action=terminate
//应添加此行以确保 Web 应用服务器正确终止。8077 是应用程序运行的端口号。如果您的应用侦听不同的端口,则需要更改它。

ExecStop=/bin/sleep 5
//添加以确保它在停止后等待 5 秒

在 nano 编辑器中完成服务文件编辑后,按 CTRL+S 保存它,然后按 CTRL+X 退出 nano。

现在强制执行以下命令以确保 Linux 能够知道您新创建的服务:

root@VM:/ETC/Systemed/Systemed/System #SystemCattle 守护进程重新加载

现在启用您的服务:

root@vm:/etc/systemd/system# systemctl 启用 fishfacts.service

开始您的服务:

root@vm:/etc/systemd/system# systemctl 启动 fishfacts

检查您的服务状态:

root@vm:/etc/systemd/system# 服务 fishfacts 状态

如果一切正常,您应该会收到如下所示的消息:

 fishfacts.service - FishFacts
    Loaded: loaded (/etc/systemd/system/fishfacts.service; enabled; vendor preset: enabled)
    Active: active (running) since Mon 2020-11-02 18:52:03 CET; 119min ago
  Main PID: 512 (fishfacts)
     Tasks: 7 (limit: 4657)
    Memory: 32.5M
    CGroup: /system.slice/fishfacts.service
            └─512 /var/www/webapp/fishfacts
 
Nov 02 18:52:03 vm.server.net systemd[1]: Started FishFacts.

现在是时候测试您的应用程序了!在 Web 浏览器中打开 Below url 应该会正确显示您的 Web 应用程序:

http://server-address:8077

停止服务:

root@vm:/etc/systemd/system# systemctl stop fishfacts 

要禁用和删除该服务,请执行以下作:

root@vm:/etc/systemd/system# systemctl disable fishfacts.service  

root@vm:/etc/systemd/system# rm /etc/systemd/system/fishfacts.service  

root@vm:/etc/systemd/system# systemctl daemon-reload    

 

 

posted on 2025-09-19 16:00  红鱼儿  阅读(122)  评论(0)    收藏  举报