python flask 部署_python flask 部署
flask在開發的時候,經常啟動本身進行調試(本身可以設置監聽的端口,例如 在app.run(port=8088),當然默認不設置端口為5000)。
但生產環境經常使用uswgi充當flask的宿主,然后使用nginx 轉跳uswgi,因為本身uswgi處理靜態文件功能并不強大,通常nginx會把單獨處理css,js等文件,將flask的請求 轉跳到 uswgi上.
nginx轉跳uswgi也有2種方式
一種是負載的http轉跳,
還有一種是 socket的轉跳.
關于2種方案的區別:
http轉跳時需要配置一些獨立的head,因為如果你的程序如果需要獲取用戶的ip 之類的,拿到的是nginx機器的地址。
而socket鏈接方式 你就不用擔心了。你可以認為這是直接請求道uswgi.
server {
listen 80;
server_name test.com;
#access_log /var/logs/access.log;
#error_log /var/logs/error.log;
#ps:以下為 2種配置請選一種
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8088;
}
location / {
proxy_pass http://127.0.0.1:8088;
}
access_log off;
}
(注釋:http轉跳是配置 “proxy_pass?127.0.0.1:8088” 這種方式 ,socket轉跳 是通過 "uwsgi_pass 127.0.0.1:8088" ,同時 這2中方式需要 在配置uswgi時設置 uwsgi --socket 8088 或者 uwsgi --http 8088)
通常flask 配置 uwsgi --socket 127.0.0.1:3031 --wsgi-file myflaskapp.py --callable app --processes 4 --threads 2 --stats 127.0.0.1:9191
總結
以上是生活随笔為你收集整理的python flask 部署_python flask 部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python线性回归预测pm2.5_线性
- 下一篇: b-spline python_SciP