Nginx中反向代理+负载均衡+服务器宕机解决办法详解

 更新时间:2024年01月24日 10:25:44   作者:爱上口袋的天空  
这篇文章主要介绍了Nginx中反向代理+负载均衡+服务器宕机解决办法详解,反向代理保证系统安全,不暴露服务器IP,利用nginx服务器,利用内网ip进行访问,避免出现攻击服务器的情况,需要的朋友可以参考下

1、反向代理作用

保证系统安全,不暴露服务器IP,利用nginx服务器,利用内网ip进行访问,避免出现攻击服务器的情况

启动本地tomact,127.0.0.1:8080可以访问到tomcat管理页面

2、反向代理的效果

通过 bbs.liaoxiang.com 可以访问到我的tomcat管理页面(跳转到//127.0.0.1:8080/),这里需要在本地hosts文件添加链接指向127.0.0.1

(注意:要通过连接访问本地地址需要修改hosts文件,百度即可)

  • 下载nginx到本地
  • 启动nginx,通过127.0.0.1可以访问到nginx的主页
  • 配置文件nginx.conf
server {
        listen       80;
        server_name  bbs.liaoxiang.com;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            proxy_pass   http://127.0.0.1:8080;
            index  index.html index.htm;
        }
       ....

配置完成。重启nginx,就可以通过bbs.liaoxiang.com访问到我的tomcat页面

3、负载均衡

就是多台服务器情况下实现均衡访问的问题

在nginx.conf中配置upstream,可以实现负载均衡,负载均衡的作用就是利用多台服务器减轻单台服务器的压力

配置4台tomcat服务器,ip:192.168.10.150,192.168.10.151,192.168.10.152,192.168.10.153

都默认8080端口

配置nginx服务器:

server {
        listen       80;
        server_name  bbs.liaoxiang.com;
    
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        upstream myupstream {
             #weight 值越大,负载权重越大,请求次数越多           
             #max_fails 允许请求失败的次数,超过次数后,转发到下一个服务器,当有max_fails个请求失败,就表示后端的服务器不可用,默认为1,将其设置为0可以关闭检查   
             #fail_timeout 指定时间内无响应则失败, 在以后的fail_timeout时间内nginx不会再把请求发往已检查出标记为不可用的服务器
             #down 表示当前server不参与负载
             #backup 其他非backup server都忙的时候,backup server作为备用服务器,将请求转发到backup服务器
             server 192.168.10.150:8080 weight=1 max_fails=2 fail_timeout=30s;
             server 192.168.10.151:8080 weight=2 max_fails=2 fail_timeout=30s;
             server 192.168.10.152:8080 down;
             #server 192.168.10.153:8080 down;
        }
        location / {
            #反向代理
            proxy_pass http://myupstream;
            index  index.html index.htm;
        }
        ....

这里启动nginx会出现错误,需要在http大括号第一行加上:server_names_hash_bucket_size 64;

然后就访问nginx地址,如果配置了反向代理,请用反向代理地址也可以访问。访问三次时可以发现150服务器处理了一次,151处理了两次,成功实现了负载均衡

4、应用服务器宕机

解决办法

配置文件nginx.conf

server {
        listen       80;
        server_name  bbs.liaoxiang.com;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
 
        upstream myupstream {
             #weight 值越大,负载权重越大,请求次数越多             
             #max_fails 允许请求失败的次数,超过失败次数后,转发到下一个服务器,当有max_fails个请求失败,就表示后端的服务器不可用,默认为1,将其设置为0可以关闭检查   
             #fail_timeout 指定时间内无响应则失败, 在以后的fail_timeout时间内nginx不会再把请求发往已检查出标记为不可用的服务器
             #down 表示当前server不参与负载
             #backup 其他非backup server都忙的时候,backup server作为备用服务器,将请求转发到backup服务器
             server 192.168.10.150:8080 weight=1 max_fails=2 fail_timeout=30s;
             server 192.168.10.151:8080 weight=2 max_fails=2 fail_timeout=30s;
             server 192.168.10.152:8080 down;
             #server 192.168.10.153:8080 myupstream;
 
        }
 
        location / {
            proxy_pass  http://myupstream;
            index  index.html index.htm;
            #这里配置宕机检测,都设置为1秒,这是有了负载均衡过后配置的,如果访问时挂了一个服务器,1秒不响应就自动切换到另外应用服务器进行访问
            proxy_connect_timeout 1;
            proxy_send_timeout 1;
            proxy_read_timeout 1;
        }
       ....

重启关闭其中一个服务器做测试,关闭后访问,当访问到已经宕机的服务器时,很明显的发现浏览器会加载一秒钟(设置的一秒监听)过后重新定向到另外一台服务器,避免了宕机出现不能访问的情况。

到此这篇关于Nginx中反向代理+负载均衡+服务器宕机解决办法详解的文章就介绍到这了,更多相关Nginx反向代理+负载均衡+服务器宕机内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • CentOS 7中利用yum安装Nginx的方法教程

    CentOS 7中利用yum安装Nginx的方法教程

    这篇文章主要给大家介绍了在CentOS 7中利用yum安装Nginx的方法教程,文中给出了详细的步骤介绍,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • nginx虚拟主机防webshell完美版

    nginx虚拟主机防webshell完美版

    nginx虚拟主机防webshell完美版,使用nginx的朋友可以参考下。
    2010-11-11
  • nginx负载均衡下的webshell上传的实现

    nginx负载均衡下的webshell上传的实现

    本文主要介绍了nginx负载均衡下的webshell上传的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Nginx启用Brotli算法压缩的示例

    Nginx启用Brotli算法压缩的示例

    这篇文章主要介绍了Nginx启用Brotli算法压缩的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • nginx 配置代理服务地址最后多加反斜杠和不加反斜杠的区别小结

    nginx 配置代理服务地址最后多加反斜杠和不加反斜杠的区别小结

    在使用Nginx配置代理服务时,地址最后是否添加反斜杠(/)会对代理的URL处理产生影响,下面就来具体介绍一下,感兴趣的可以了解一下
    2024-08-08
  • Nginx 流量镜像使用的方法示例

    Nginx 流量镜像使用的方法示例

    Nginx流量镜像技术可以在不影响原始请求的情况下复制请求数据,用于数据分析、安全监控等方面,本文就来介绍一下Nginx 流量镜像使用的方法示例,感兴趣的可以了解一下
    2024-10-10
  • Nginx同时支持Http和Https的配置详解

    Nginx同时支持Http和Https的配置详解

    这篇文章主要介绍了Nginx同时支持Http和Https的配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 如何在centos7中安装nginx

    如何在centos7中安装nginx

    近期做项目用到了nginx,所以自己动手来在Centos7上安装nginx,以下是安装步骤。
    2018-09-09
  • nginx ingress限速那些事浅析

    nginx ingress限速那些事浅析

    这篇文章主要为大家介绍了nginx ingress限速的一些知识的浅析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 权限问题导致Nginx 403 Forbidden错误的解决方法

    权限问题导致Nginx 403 Forbidden错误的解决方法

    这篇文章主要介绍了权限问题导致Nginx 403 Forbidden错误的解决方法,本文中导致 403 Forbidden错误的原因是配置文件中没有指明一个用户,需要的朋友可以参考下
    2014-08-08

最新评论