Nginx + uWSGI + flask + socketio 部署解決方案


  最近在忙一個flask的web項目,使用socketio在搭配nginx部署的時候還有點麻煩,搜了一下中文的解釋資料還是很少的,這里貼出來自己的配置。

  我的項目環境是:python2.7 + flask + socketio + nginx + uWsgi ,操作系統是ubuntu 14.04

  推薦閱讀的文章,flask-socketioNginx as a WebSocket Proxy,相信這兩篇文章認真讀過以后,所有的問題應該迎刃而解了,后面的內容是寫給不喜歡看英文文章的人,直接是干貨,具體的每個配置項內容可以自行使用其他方式解讀。

 

  首先貼出來我的Nginx的配置:

server {
    listen  80;
    server_name localhost;


    location ^~ /static/ {
        root /root/myPython/website/blueprint;
    }

    location / {
        include proxy_params;
        proxy_pass http://127.0.0.1:6000;
    }
    location /socket.io {
        include uwsgi_params;

        proxy_http_version 1.1;
        proxy_buffering off;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://127.0.0.1:6000/socket.io;
     }

    location ~* .    (woff|eot|ttf|svg|mp4|webm|jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
    }
}

  使配置生效的命令是:service nginx restart

  接下來是使用uwsgi命令啟動web程序:  

uwsgi --http :6000 --gevent 1000 --http-websockets --master --wsgi-file __init__.py --callable app

  如果沒有安裝gevent,使用 sudo pip install gevent安裝即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM