• 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安装即可。

  • 相关阅读:
    UVA 3942 Remember the Word (Trie+DP)题解
    POJ 3630 Phone List(字符串前缀重复)题解
    HDU 1247 Hat’s Words(字典树)题解
    hdu 1671 Phone List(字典树)题解
    HDU1251 统计难题 (字典树模板)题解
    BZOJ 1556 墓地秘密
    BZOJ 3624 免费道路
    BZOJ 2286 消耗战
    BZOJ 3694 最短路
    BZOJ 1589 采集糖果
  • 原文地址:https://www.cnblogs.com/ld1226/p/7365229.html
Copyright © 2020-2023  润新知