Nginx动态反向代理1

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多毫秒。

原文地址:https://www.cnblogs.com/gaoqiaoliangjie/p/11053073.html