Я использую nginx version: nginx/1.0.12
Nginx TCP (WebSockets) Тайм-аут/Keepalive Config
Мой nginx.conf выглядит следующим образом:
#user nobody;
worker_processes 1;
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
tcp {
upstream websockets {
## Play! WS location
server 127.0.0.1:9000;
check interval=3000 rise=2 fall=5 timeout=1000;
}
server {
listen 80;
listen 8000;
server_name socket.domain.com;
tcp_nodelay on;
proxy_pass websockets;
proxy_send_timeout 300;
}
# virtual hosting
#include /usr/local/nginx/vhosts/*;
}
Мое приложение, кажется, снижается WebSocket connnections каждые 75 сек (или около того) который, я думаю, из-за конфигурации Nginx по умолчанию keepalive. Как увеличить таймаут?
Благодаря
Проверьте [wiki] (http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive). –
Я пробовал это раньше: я добавил keepalive 32 в строку 20 (под сервером 127.0.0.1:9000), и я получаю nginx: [emerg] неизвестная директива «keepalive» в /usr/local/nginx/conf/nginx.conf: 20 –
@DmitryPaskal, если я удаляю директиву вверх (я еще не балансирую нагрузку) и добавляю прокси-проход в теге сервера, то что мне делать? –