1.在nginx.con里配置
upstream backend_server{ server 172.31.49.158 weight=1;//分别配权重为1 server 172.31.49.118 weight=1; }
//在server里加上
location / {
proxy_pass http://backend_server;
proxy_set_header Host $http_host:$proxy_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
2.sbin/nginx -s reload 无缝重启一下
cd logs/
tail -f error.log 看一下有没有报错
3.在本地网页访问网页看是否链接成功,验证是否真的访问到主机了,到miaosher1服务器上,
开启tomcat的内嵌log
参数解释:%h:远端的host是什么 ip地址
%l:
%u:远端主机的user
%t:处理时长
%r:对应的http请求的第一行,请求的url(非常关键)
%s:http的返回状态码,比如200,404
%b:对应请求response的大小
%d:对应处理请求的时长
之后kill掉tomcat的端口,然后./deploy.sh &
8.把数据库那台机子的带宽峰值升级到20mbps
因为在局域网里miaoshaserver和数据库的通信有通信消耗,但是用到druid的连接池上建连和断连基本上是不太会发生的,因为一直保持长链接的状态,这种毫秒级别的消耗完全是可以忍受的,
但是nginx和miaoshaserver是短连接的状态,默认配置里是没有keepalive的,那么我们现在把它改成有keepalive的,
添加一个30s的长链接
因为nginx里默认和miaoshaserver服务器的连接是遵循http1.0的协议,是没有长链接的,所以还要手动添加:
上图添加的两条意思就是:修改成1.1的版本,若请求头默认为空,那么就会启用长链接,然后sbin/nginx -s reload
通过压力测试,使用命令不断来查看是否端口有改变,若没有改变就说明长链接开启了:
net stat -an |grep 172.31.49.159 | grep ESTABLISH
9.通过nginx的反向代理以后,性能提升很明显,原来的tps只有300左右,现在可以飙升到1600,并且平均耗时子300多毫秒。