Ubuntu 22.04 LTS 開機自動執行flask app設置

Ubuntu 22.04 開機自動執行設置範例。

1、安裝環境


sudo apt-get update && sudo apt-get install python3-pip -y && sudo pip3 install flask uwsgi && mkdir /home/user/flask_app && cd /home/user/flask_app

vim main.py
在編輯畫面貼上
-------開始---------
from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return '測試部署'
-------結束---------

vim app.ini
在編輯畫面貼上
-------開始---------
[uwsgi]
wsgi-file = main.py
callable = app
http= :8001
processes = 4
threads = 2
master = true
chmod-socket = 660
vacuum = true
die-on-term = true
-------結束---------

2、在/home/user/flask_app底下建立uwsgi.sh腳本


vi /home/user/flask_app/uwsgi.sh
在編輯畫面貼上(須留意代碼的&&雙連號,如沒正確運行請改為一個&連接前後代碼)
-------開始---------
#!/bin/bash
cd /home/user/flask_app && uwsgi --ini /home/user/flask_app/app.ini
-------結束---------

3、建立運行服務


sudo vi /etc/systemd/system/log_uwsgi.service
在編輯畫面貼上
-------開始---------
[Unit]
After=network.service
Description=Log uwsgi

[Service]
ExecStartPre=/bin/sleep 30
ExecStart=/home/user/flask_app/uwsgi.sh
Type=oneshot

[Install]
WantedBy=multi-user.target
-------結束---------

4、修改檔案權限


chmod 744 /home/user/flask_app/uwsgi.sh

sudo chmod 664 /etc/systemd/system/log_uwsgi.service

5、重整服務並啟用


sudo systemctl daemon-reload

sudo systemctl enable log_uwsgi.service

6、重啟主機


sudo reboot

7、檢視服務運行情況


sudo systemctl status log_uwsgi.service

8、延伸設定


如果是需要在一般使用者自動開機運行,
可以在第3點建立的log_uwsgi.service檔案底下
[Service] 添加該使用者與群組(底下以ubuntu用戶、ubuntu群組示範)
-------開始---------
[Unit]
After=network.service
Description=Log uwsgi

[Service]
ExecStartPre=/bin/sleep 30
ExecStart=/home/user/flask_app/uwsgi.sh
Type=oneshot
User=ubuntu
Group=ubuntu

[Install]
WantedBy=multi-user.target
-------結束---------

留意 /home/user/flask_app/uwsgi.sh 檔案擁有者需一並修改。

修改檔案擁有者
chown ubuntu /home/user/flask_app/uwsgi.sh
修改檔案群組
chown :ubuntu /home/user/flask_app/uwsgi.sh
修改檔案權限
chmod 744 /home/user/flask_app/uwsgi.sh

留言

這個網誌中的熱門文章

紅米手機MIUI設置SD卡為延伸儲存空間