python - flask-socketio 怎么部署到nginx?

 爱她一生2502876055 发布于 2022-10-28 19:22

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

2 个回答
  • 只是单纯部署到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端口。

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

    可以看一下这篇文章

    2022-11-12 01:45 回答
  • 下面是我的配置 你可以参考一下
    这是启动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 ;
            }
    }
    2022-11-12 01:45 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有