1:nginx.conf 配置:
参考: http://nginx.org/en/docs/http/websocket.html
server {
listen 80;
server_name exercise.com;
location / {
proxy_pass http://exercise_servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
}
location /websocket/ {
proxy_pass http://exercise_servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 超时时间设置为一天
proxy_read_timeout 86400s;
}
}
2:以上配置尽量放在nginx.conf配置文件中, 如果是从nginx.conf文件里面include过来的对websocket似乎不生效, 具体原因未仔细调查.
3:Tomcat WebSocket设置:
server.xml:
<Connector connectionTimeout="20000" port="10091" protocol="org.apache.coyote.http11.Http11NioProtocol" redirectPort="8443" socketBuffer="9000"
acceptCount="65536" maxConnections="65536" maxKeepAliveRequests="-1" maxThreads="65536" URIEncoding="UTF-8" />
4:
修改linux配置文件:
/etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536