pm2快速部署Django專案
-
以前寫過一篇部署django全攻略, 後來被人吐槽, 整個流程手動部署下來 需要花20多分鐘, 如果能像
python manage runserver
一行命令啟動就好了 -
Django專案的開發階段, 可以使用
python manage runserver
啟動 Django內建的web服務 , 但 Django內建的web服務 很容易掛到,所以我們需要給它加一個守護程序
解決之道:
pm2是一個程序管理工具, 它可以為你的指令碼建立守護程序, ofollow,noindex">pm2官網連結
pm2的使用
pm2可以守護執行shell指令碼, 我們可以把 python manage runserver 0.0.0.0:9000
寫到 start.sh
(將 start.sh放到與manage.py的同級目錄
),然 後通過 pm2 start start.sh
, 讓pm2執行 start.sh
指令碼,開啟 Django內建的web服務 , 由於pm2可以守護指令碼的執行, 當 Django內建的web服務 掛掉的時候, 會自動重啟, 通過這種方式, django的測試專案就可以在線上穩定的運行了

- 這是我剛剛用以上方法, 部署Django專案, 可以通過訪問 http://zhaoolee.com:9000 驗證一下, 應該是正常執行的

- 當然也可以直接把上面的
start.sh
指令碼內容改成python manage runserver 0.0.0.0:80
, 這樣就可以通過 http://zhaoolee.com 直接訪問站點了

pm2可以守護執行多種語言的指令碼

- pm2可以執行多種語言的指令碼, pm2可以根據指令碼的副檔名, 使用相應的直譯器來執行指令碼, 當然你也可以手動指定直譯器的位置, 只需加一個
--interpreter
的引數即可(參考上圖)
小結:
用pm2把 python manage runserver
程序守護起來是一種討巧的做法, 如果你剛剛開發了一個django專案又懶得去配置uwsgi以及nginx的轉發規則, 可以用pm2一鍵部署專案