上面的配置会使NGINX监听8020端口,并把接收到的任何请求传递给后端的WebSocket服务器以便恰当的处理WebSocket协议。我们可以使用wscat作为客户端来测试一下:
/root/node_modules/ws/bin/wscat –connect ws://192.168.100.20:8020
上面的命令会通过NGINX代理服务器和WebSocket服务器建立连接,你可以输入你想要发送给服务器的消息,之后服务器会返回一条消息。每当你输入一条消息,你应该可以在服务端看到该消息的输出,之后在客户端会显示一条来自服务端的消息。
这是一个交互示例:
Server: Client:$ node server.js
Server started
wscat –connect ws://192.168.100.20:8020
Connected (press CTRL+C to quit)
> Hello
Received from client: Hello
< Server received from client: Hello
由此我们可以看到服务端与客户端能够通过作为代理的NGINX通信, 而且消息可以持续进行双向传输直到客户端或服务端断开连接。为了能使NGINX正确处理WebSocket, 只需正确地设置消息头来处理更新从http到WebSocket连接的Upgrade请求。
更多信息请参见:
搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程
CentOS 6.3下配置Nginx加载ngx_pagespeed模块