武英斌-博客

Nginx 负载均衡 http

发布时间:5年前热度: 462 ℃评论数:

1.首先创建一个负载站点 就是一直访问域名的负载分发 不部署web程序 Nginx配置如下

2.添加节点服务器组:

upstream myproj {

   ip_hash;

   server 47.57.131.8:80 weight=1;

   server 47.57.161.78:80 weight=1;

}

3.添加端口监听规则:

location  ~* \.(php|jsp|cgi|asp|aspx)$  #不配置这个 域名带后缀会访问不到报错404

    {

        proxy_pass http://myproj;

        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_set_header REMOTE-HOST $remote_addr;

    }

    location / {

    

        proxy_pass http://myproj;

        proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

      

    }

完整配置:

upstream myproj {

   ip_hash;

   server 47.57.131.8:80 weight=1;

   server 47.57.161.78:80 weight=1;

}

server

{

    listen 80;

    server_name www.xxx.cn;

    index index.php index.html index.htm default.php default.htm default.html;

    root /www/wwwroot/www.xxx.cn;

   location  ~* \.(php|jsp|cgi|asp|aspx)$

    {

        proxy_pass http://myproj;

        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_set_header REMOTE-HOST $remote_addr;

    }

    location / {

    

        proxy_pass http://myproj;

        proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

      

    }

      

    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则

    #error_page 404/404.html;

    #SSL-END

    

    #ERROR-PAGE-START  错误页配置,可以注释、删除或修改

    #error_page 404 /404.html;

    #error_page 502 /502.html;

    #ERROR-PAGE-END

    

    #PHP-INFO-START  PHP引用配置,可以注释或修改

    include enable-php-70.conf;

    #PHP-INFO-END

    

    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效

include /www/server/panel/vhost/rewrite/www.xxx.cn.conf;

    #REWRITE-END

    

    #禁止访问的文件或目录

    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)

    {

        return 404;

    }

    

    #一键申请SSL证书验证目录相关设置

    location ~ \.well-known{

        allow all;

    }

    

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

    {

        expires      30d;

        error_log off;

        access_log /dev/null;

    }

    

    location ~ .*\.(js|css)?$

    {

        expires      12h;

        error_log off;

        access_log /dev/null; 

    }

access_log /www/wwwlogs/www.xxx.cn.log;

error_log /www/wwwlogs/www.xxx.cn.error.log;

}

4.上面配置好,在节点服务器绑定www.xxx.cn域名

5.节点服务器全部部署好web程序

6.访问www.xxx.cn 不断刷新就会根据权重分配到节点服务器上


error

手机扫码访问