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
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
chown :ubuntu /home/user/flask_app/uwsgi.sh
修改檔案權限
chmod 744 /home/user/flask_app/uwsgi.sh
留言
張貼留言