重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
下文给大家带来什么是基于Nginx的Wesocket负载均衡,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用创新互联在行业内累计的经验来做一个解答。
创新互联是专业的肇庆网站建设公司,肇庆接单;提供网站建设、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行肇庆网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!分享一个基于NginxWesocket的负载均衡。
1.在mac电脑安装nginx
brew install nginx
2.安装完成以后nginx的配置文件路径
/usr/local/etc/nginx/nginx.conf
3.编辑配置文件进行配置
在http块
新增配置
#gzip on;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream ws_server {
server qa.server.com:2048;
server qa.server.ai:2048;
}
server {
listen 2048;
server_name localhost;
location /ws {
proxy_pass http://ws_server/ws;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
简要说明一下,nginx监听2048端口,把请求转发到qa.server.h,qa.server.test
客户端通过这个地址 连接:ws://localhost:2048/ws
之前一直有疑问,为什么ws协议要通过http协议来代理?
ws 协议的握手部分是借用http协议了,在握手完成以后进行了协议的切换(header部分的upgrade)。
这个查看网络连接
Request URL:
ws://localhost:2048/ws
Request Method:
GET
Status Code:
101 Switching Protocols
Response Headersview source
Connection:
upgrade
Date:
Fri, 15 Sep 2017 01:48:28 GMT
sec-websocket-accept:
r+ZclgKaM7r9b6RklYinaGUcvwE=
Server:
nginx/1.12.1
upgrade:
websocket
Request Headersview source
Accept-Encoding:
gzip, deflate, br
Accept-Language:
en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4
Cache-Control:
no-cache
Connection:
Upgrade
Host:
localhost:2048
Origin:
http://localhost:8000
Pragma:
no-cache
Sec-WebSocket-Extensions:
permessage-deflate; client_max_window_bits
Sec-WebSocket-Key:
yoh4s/VG9x099oJEoP4FNA==
Sec-WebSocket-Version:
13
Upgrade:
websocket
User-Agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
看了以上关于什么是基于Nginx的Wesocket负载均衡,如果大家还有什么地方需要了解的可以在创新互联行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,创新互联技术工程师在行业内拥有十几年的经验了。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。