nginx安裝:
apt-get install nginx
uwsgi安裝:
pip install uwsgi
sudo apt-get install uwsgi-plugin-python #解決python與uwsgi兼容問題,配合uwsgi中 plugins = python使用
nginx配置:
打開nginx配置文件:
vim /etc/nginx/nginx.conf
可查找到:include /etc/nginx/sites-available/default; 告訴我們可以到該路徑下去配置
vim /etc/nginx/sites-available/default
添加代碼如下:
server {
# 監聽80端口, 瀏覽器http請求默認端口爲80
listen 80;
# 監聽本機所有ip, 可指定本機ip如:192.168.1.110
server_name 0.0.0.0;
location / {
# 指定通信對象爲uwsgi,即數據向uwsgi轉發
include uwsgi_params;
# 指定uwsgi 的ip:port 的接收地址
uwsgi_pass 127.0.0.1:5001;
# 指定python項目的運行環境
# 也可通過uwsgi中的virtualenv指定項目環境
# 默認爲系統python主環境
# 此處指定爲自建虛擬環境venv
uwsgi_param UWSGI_PYHOME /home/reidlv/venv;
# 指定flask類型的項目根目錄
uwsgi_param UWSGI_CHDIR /home/reidlv/flaskspace/test-web;
# 指定flask項目的啓動文件
# manage: /home/reidlv/flaskspace/test-web/manage.py
# manage.py 中包含app變量 (app = Flask(__name__))
uwsgi_param UWSGI_SCRIPT manage:app;
}
}
至此nginx配置完成。
uwsgi配置:
cd /home/reidlv/flaskspace/test-web
mkdir WSGI
touch WSGI/uwsgi.ini
vim uwsgi.ini
添加代碼如下:
[uwsgi]
# 配合sudo apt-get install uwsgi-plugin-python, 該配置不添加,偶爾會報錯
plugins = python
# 接收通訊地址, 與nginx配置中的 uwsgi_pass 127.0.0.1:5001; 對應
socket = 127.0.0.1:5001
# 項目主目錄
chdir = /home/reidlv/flaskspace/test-web
# 項目啓動文件
wsgi-file = manage.py
# 主應用名
callable = app
# 開啓進程數
processes = 4
# 開啓線程數
threads = 2
# 日誌處理
stats = 127.0.0.1:9191
啓動服務:
sudo service nginx start
uwsgi /home/reidlv/flaskspace/test-web/WSGI/uwsgi.ini
若命令正常啓動,恭喜配置成功。瀏覽器請求test-web所在主機ip即可成功訪問。
若報錯,請查看端口是否被佔用,以及以上參數是否配置正確。
若有錯誤,還請各位多多告知,以免貽害廣大同胞。