python flask專案部署上線之Gunicorn和Nginx的準備
1. Gunicorn
進入虛擬環境之后
pipenv install gunicorn
運行:
gunicorn --workers=4 wsgi:app 需要創建一個wsgi.py
指定主機:
gunicorn --workers=4 --bind=0.0.0.0:8000 wsgi:app
或者
gunicorn -w 4 -b 0.0.0.0:8000 wsgi:app
2. Nginx
sudo apt-get install nginx
Nginx作為代理服務器,監聽來自外部的80埠的請求,Gunicorn負責監聽本地的8000埠的請求
配置如下:
sudo rm /etc/nginx/sites-enabled/default
sudo vi /etc/nginx/sites-enabled/專案名
輸入內容如下:
server {
listen 80 default_server;
server_name _; #可以輸入域名,也可以不用
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /static {
alias 放置靜態檔案的相對位置;
expires 30d;
}
}
配置完之后,檢測語法正確性:
sudo nginx -t
最終運行:
sudo service nginx restart
gunicorn -w 4 wsgi:app
-w 4是指執行緒數,一般設為4~12個,建議為(2XCPU 核心數) + 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/293927.html
標籤:其他
