【 Tools 】Ubuntu 環境透過 Systemd 啟動程式

【 Tools 】Ubuntu 環境透過 Systemd 啟動程式
Photo by Cosmin Serban / Unsplash

內容

  • 學習目標
  • 前置準備作業
  • 設定並啟動程式
  • 測試與驗證

學習目標

  • 如何在 Ubuntu 電腦中設定開機自動啟動 Python Flask API 程式。

前置準備作業

  • 一台可用的 Ubuntu 電腦並開啟 HTTP 80 Port。
  • 於此台 Ubuntu 電腦中開啟終端機。

設定並啟動程式

Step 1. 系統更新

  • 請於終端機輸入下方指令
sudo apt-get update

---2023-05-29---8.14.19


Step 2. 安裝 pip

  • 請於終端機輸入下方指令
sudo apt install -y python3-pip

---2023-05-29---8.15.23


Step 3. 安裝 flask

  • 請於終端機輸入下方指令
sudo apt install -y python3-flask

---2023-05-29---8.16.04


Step 4. 切換工作路徑

  • 請於終端機輸入下方指令
cd ~

---2023-05-29---8.16.29


Step 5. 下載範例程式

  • 請於終端機輸入下方指令
git clone https://github.com/ArcherHuang/Python_Boot_Systemctl_Systemd.git

---2023-05-29---8.17.04


Step 6. 改變檔案權限

  • 請於終端機輸入下方指令
sudo chmod 777 ~/Python_Boot_Systemctl_Systemd/app.py

---2023-05-29---8.17.29


Step 7. 修改程式

  • ./Python_Boot_Systemctl_Systemd/app.py
    • 請修改第 5 行的 mmosconii 為帳號名稱
  • ./Python_Boot_Systemctl_Systemd/boot-flask.service
    • 請修改第 5 行的 mmosconii 為帳號名稱

Step 8. 測試程式是否正常

  • 請於終端機輸入下方指令
sudo python3 ~/Python_Boot_Systemctl_Systemd/app.py

---2023-05-29---8.17.57

  • 開啟 Browser

---2023-05-29---8.19.09


Step 9. 移動 service 設定檔到 /etc/systemd/system

  • 請於終端機輸入下方指令
sudo cp ~/Python_Boot_Systemctl_Systemd/boot-flask.service /etc/systemd/system/boot-flask.service

---2023-05-29---8.19.43


Step 10. 啟動服務

  • 請於終端機輸入下方指令
sudo systemctl start boot-flask.service

---2023-05-29---8.20.07


Step 11. 查看服務狀態

  • 請於終端機輸入下方指令
sudo systemctl status boot-flask.service

---2023-05-29---8.21.06


Step 12. 查看資訊

  • 請於終端機輸入下方指令
journalctl -fu boot-flask.service

---2023-05-29---8.21.30


Step 13. 設定開機啟動

  • 請於終端機輸入下方指令
sudo systemctl enable boot-flask.service

---2023-05-29---8.28.47


Step 14. 其他相關指令

指令 說明
sudo systemctl disable boot-flask.service 移除開機啟動
sudo systemctl daemon-reload 重新載入設定檔
systemctl list-units 列出所有已啟動的服務
sudo systemctl kill boot-flask.service 刪除服務

測試與驗證

  • 請將 Ubuntu 電腦重新開機並開啟 Browser

---2023-05-29---8.19.09

Sample Code

GitHub

List of blogs