在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; 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
浙公網安備 33010602011771號