conda 環境不必多說: conda(或source) activate test 進入test虛擬環境
接下來安裝uwsgi:
pip install uwsgi 在conda環境下大概率安裝不成功,可以使用一下命令代替:
conda install -c conda-forge uwsgi
運行uwsgi 有可能碰到 libiconv.so 動態庫找不到的問題,同樣可以用conda安裝
conda install -c conda-forge libiconv
uwsgi安裝好后,需要在django項目根目錄下建立一個名為uwsgi.ini的文件,在里面配置好uwsgi:
[uwsgi] socket=127.0.0.1:8000 # 指定項目執行的端口號,用nginx的時候就要配socket
pythonpath=/home/admin/test/ # 指定項目所在位置,在使用conda虛擬環境時必須要有這一條
chdir=/home/admin/test/ # 指定項目的目錄
wsgi-file=test/wsgi.py # 項目上wsgi.py所在的位置,與settings目錄相同
processes=1 # 開啟的進程數量
threads=2
master=True # master :允許主線程存在(true)
pidfile=uwsgi.pid
daemonize=uwsgi.log # 日志,uwsgi無法啟動時來這查看錯誤日志
uwsgi配置好后,要啟動uwsgi, 啟動命令:
uwsgi --ini uwsgi.ini # 啟動uwsgi, 一定要在django實際使用的conda環境下,否則會報錯
uwsgi --stop uwsgi.pid # 停止uwsgi
uwsgi --reload uwsgi.pid # 重啟uwsgi
uwsgi配置好后,要配置nginx:
首先安裝nginx, 運行命令 sudo apt install nginx
nginx 命令:
sudo service nginx start 啟動
sudo service nginx stop 停止
sudo service nginx restart 重啟nginx
sudo nginx -s reload 重載配置文件
sudo nginx -s quit 優雅的停止nginx
sudo nginx -s term 停止nginx
sudo nginx -s reopen 打開一份新的日志
配置nginx:
在/etc/nginx/site-available下新建文件test.conf: server {
listen 8888; #nginx監聽的端口 charset utf-8; client_max_body_size 75M; location / { uwsgi_pass 127.0.0.1:8000; # 與uwsgi中配置的相一致 include /etc/nginx/uwsgi_params;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /static/ { # 如果用到靜態文件
alias /home/test/test/static/;
}
}
然后要建立軟連接:
sudo ln -s /etc/nginx/site-available/test.conf /etc/nginx/site-enabled/test.conf
最后用 sudo nginx -s reload 命令啟動重載配置文件即可
最后, 如果需要配置負載均衡:
// http模塊中配置upstream upstream test { server 127.0.0.1:8002 weight=2; server 127.0.0.1:8003 weight=1; } // 將server模塊中的location替換為如下 location / { proxy_pass http://test; }