之前面我們使用uwsgi部署項目比較繁瑣,本章節介紹使用pm2+nginx一鍵部署django項目
PM2的主要特性:
內建負載均衡(使用Node cluster 集群模塊) 后臺運行 0秒停機重載,我理解大概意思是維護升級的時候不需要停機. 具有Ubuntu和CentOS 的啟動腳本 停止不穩定的進程(避免無限循環) 控制臺檢測 提供 HTTP API 遠程控制和實時的接口API ( Nodejs 模塊,允許和PM2進程管理器交互 )一、安裝PM2
1、安裝nodejs
sudo apt-get install -y nodejs
2、安裝pm2
sudo npm install pm2 -g
二、使用PM2部署django項目
1、在django的根目錄下創建一個start.sh文件
python manage.py runserver 0.0.0.0:9000
2、使用pm2啟動本文件
pm2 start start.sh
3、查看服務啟動情況pm2 list
(django_env) root@iZ941w016mwZ:/etc/nginx# pm2 list┌───────┬────┬──────┬────────┬────────┬─────┬────────┬──────────┐│ Name │ id │ mode │ status │ ↺ │ cpu │ memory │├───────┼────┼──────┼────────┼────────┼─────┼────────┼──────────┤│ start │ 0 │ N/A │ fork │ online │ 690 │ 0% │ 2.7 MB │└───────┴────┴──────┴────────┴────────┴─────┴────────┴──────────┘ Use `pm2 show <id|name>` to get more details about an app(django_env) root@iZ941w016mwZ:/etc/nginx#
4、客戶端連接ip地址:端口號(9000)
三、結合nginx設置代理到9000端口
1、先根據之前的方法安裝好nginx
2、進入nginx的包文件(/etc/nginx)下修改nginx.conf
...server { listen 80; server_name www.yst168.cn yst168.cn http://www.yst168.cn; # 這里是你的域名 location / { proxy_pass http://localhost:9000; # 代理到你的本地項目 }}...
3、重啟nginx服務器
sudo service nginx restart
四、關于pm2的基本命令補充
新聞熱點
疑難解答