flask-socketio 怎么部署到nginx?
威尼斯人线上娱乐官网
威尼斯人线上娱乐官网
当前位置 : 威尼斯人线上娱乐官网 > www.vn99.net

flask-socketio 怎么部署到nginx?

如题
使用flask-socketio 写了一个简单的基于websocket 的聊天室,现在如果想要将其部署到nginx,配置文件应该怎么写?

1

我问过一次了。。没有人回答flask-socketio文档里有写但是没有效果。还是400

zeromake · 2016年12月11日

添加评论

下面是我的配置 你可以参考一下
这是启动gunicorn 命令:

/root/.pyenv/versions/flask/bin/gunicorn -c webshell.conf socketio_run:app

这是 webshell.conf

workers = 1
bind = unix:/tmp/gunicorn.sock
pythonpath=/root/quleduo_manager_test/
worker_class=geventwebsocket.gunicorn.workers.GeventWebSocketWorker
threads=1
worker_connections=100
timeout=60
accesslog=/root/quleduo_manager_test/FileStores/log/gunicorn_access_test.log
errorlog=/root/quleduo_manager_test/FileStores/log/gunicorn_error_test.log

这是nginx 配置:

upstream api {
        server unix:/tmp/gunicorn.sock
        }
server {
        listen          80;
        charset         utf-8;
        client_max_body_size    75M;
        access_log  off;
        access_log /data/logs/salt_api.log  combined;
        error_log  /data/logs/salt_api.log;
        location / {
                proxy_pass https://api ;
        }
}

只是单纯部署到nginx很简单,就是在/etc/nginx/conf.d下新建一个配置文件。监听一个端口,然后将端口请求全部转发到你websocket监听的端口上就行。

#####
# /etc/nginx/conf.d/socketio.conf
#####
server {
    listen       8081;                           # 监听一个端口,供外部访问

    location / {
        proxy_pass http://localhost:10086;      # 将请求转发到本机10086端口
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;  # websocket这两个选项
        proxy_set_header Connection "upgrade";   # 需要明确的指定
    }

比如说你机器ip是192.168.1.110。
本地socketio监听的端口是10086。
需要访问聊天室的时候,请求192.168.1.110:8081,nginx会将请求转发到10086端口。

这只是最简单基本的配置,能让你的服务运行,具体优化什么的还需要你再进一步设置。

可以看一下这篇文章

栏目列表

广告位

威尼斯人线上娱乐官网