1、uwsgi配置
# uwsig使用配置文件啓動
[uwsgi]
# 項目目錄
chdir=/www/news/
# 指定項目的application
module=itstyle.wsgi:application
# 指定sock的文件路徑
socket=/www/news/script/uwsgi.sock
# 進程個數
workers=5
pidfile=/www/news/script/uwsgi.pid
# 指定IP端口
http=127.0.0.1:8000
# 指定靜態文件
static-map=/static=/www/news/static
# 啓動uwsgi的用戶名和用戶組
uid=root
gid=root
# 啓用主進程
master=true
# 自動移除unix Socket和pid文件當服務停止的時候
vacuum=true
# 序列化接受的內容,如果可能的話
thunder-lock=true
# 啓用線程
enable-threads=true
# 設置自中斷時間
harakiri=30
# 設置緩衝
post-buffering=4096
# 設置日誌目錄
daemonize=/www/news/script/uwsgi.log
學習鏈接:https://cloud.tencent.com/developer/article/1372693
2、重啓服務
找到uwsgi的配置文件:
cat uwsgi.cfg
ps -ef | grep uwsgi 發現uwsgi的主進程pid和pid文件裏的id是一樣的
先停止uwsgi服務 : uwsgi --stop /var/uwsgi.pid
再重啓服務 : uwsgi --ini /var/uwsgi.cfg
重啓成功,在通過 cat /var/uwsgi.pid 和 ps -ef | grep uwsgi 檢查一下 uwsgi 的pid是否一致
注: uwsgi --reload /var/uwsgi.pid 可以重新裝載uwsgi
3、重啓失敗
假設uwsgi.cfg目錄在/vipkid/dbrestore_api下
可以看到執行重啓命令後還是沒有啓動,這時區看uwsgi.log查找原因,log目錄可以去uwsgi.cfg查看
有這樣一個報錯,把 "/vipkid/dbrestore_api #讓nginx代理哪個項目就寫那個項目路徑" 包括註釋都當成了一個目錄,所以把配置文件裏的註釋都刪掉了之後再去重啓,就成功了。