1. 程式人生 > >使用uwsgi和nginx搭建的伺服器,修改程式碼後如何自動/手動過載程式碼?

使用uwsgi和nginx搭建的伺服器,修改程式碼後如何自動/手動過載程式碼?

寫在前面

在預設設定下,uwsgi本身不會立即載入修改後的檔案,這是為了效率起見。如果你有修改程式碼後需要立即在伺服器上reload的需求,則在uwsgiini檔案中加入如下修改(不建議):

py-autoreload = 1

如果我們僅僅只是在開發環境除錯程式的話,其實使用manage.py就已足夠,如下:

python manage.py runserver 0.0.0.0:8000

runserver在檢測到檔案修改時,會自動過載,對於開發除錯已經足夠。

正確手動過載uwsgi和程式碼的方式

首先,確保你uwsgiini配置檔案有自動生成pidfile

pidfile = /path/to/your/uwsgi.pid

然後,在你的uwsgi.pid目錄下執行:

uwsgi --reload uwsgi.pid
#其中uwsgi.pid是我的uwsgi自動生成的檔案,即程序的pid檔案。

至此,修改後的程式碼已經被過載,並且生效了。