uniGUI:在Linux上部署独立应用为服务
可以以 Linux 服务的形式部署 Linux 独立应用程序。这将确保 Web 应用程序服务器将从作系统启动,只要服务器启动,它就会一直工作。
为了实现这一点,我们将在 /etc/systemd 文件夹下创建一个 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.targetDescription=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; 1h 19min 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.
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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/907887.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!