NGINX + Gunicorn + Socket.IO(Flask-SoketIO)如何设置配置?

时间:2019-03-08 12:38:12

标签: nginx flask socket.io gunicorn flask-socketio

我有使用Socket.IO的Flask网络应用。

现在烧瓶可以工作了。但!如何设置Socket.IO?

如果我将Socket.io配置为通过unix:myproject.sock进行工作,则会有很大的延迟。我需要Flask和Socket.IO都可以工作。

我的配置

/etc/nginx/sites-available/myproject

server {
    listen 80;
    server_name blabla.org www.blabla.org;

    location / {
        include proxy_params;
        proxy_pass http://unix:/home/tensy/blend/myproject.sock;
    }

  location ~* \.io {
      ???
      # Don't work: proxy_pass http://unix:/home/tensy/blend/myproject.sock;
      proxy_redirect off;

      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
    }

/etc/systemd/system/myproject.service

[Unit]
Description=Gunicorn instance to serve myproject
After=network.target

[Service]
User=tensy
Group=www-data
WorkingDirectory=/home/tensy/blend
Environment="PATH=/home/tensy/blend/flask/bin"
ExecStart=/home/tensy/blend/flask/bin/gunicorn --workers 3 --bind unix:myproject.sock -m 007 wsgi:app

[Install]
WantedBy=multi-user.target

我发现:gunicorn -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker -w 1 --bind unix:app.sock -m 007。但这仅适用于Socket.IO。我需要一个Flask应用程序才能工作。

0 个答案:

没有答案