nginx反向代理+负载均衡+服务器宕机解决办法
2017-10-16 00:00
141 查看
摘要: nginx,反向代理,负载均衡
反向代理
作用:保证系统安全,不暴露服务器IP,利用nginx服务器,利用内网ip进行访问,避免出现攻击服务器的情况
启动本地tomact,127.0.0.1:8080可以访问到tomcat管理页面
效果:通过 bbs.liaoxiang.com 可以访问到我的tomcat管理页面(跳转到 http://127.0.0.1:8080/ ),这里需要在本地hosts文件添加链接指向127.0.0.1
(注意:要通过连接访问本地地址需要修改hosts文件,百度即可)
下载nginx到本地
启动nginx,通过127.0.0.1可以访问到nginx的主页
配置文件nginx.conf
(就是多台服务器情况下实现均衡访问的问题)
在nginx.conf中配置upstream,可以实现负载均衡,负载均衡的作用就是利用多台服务器减轻单台服务器的压力
配置4台tomcat服务器,ip:192.168.10.150,192.168.10.151,192.168.10.152,192.168.10.153
都默认8080端口
配置nginx服务器:
这里启动nginx会出现错误,需要在http大括号第一行加上:server_names_hash_bucket_size 64;
解决办法
配置文件nginx.conf
重启关闭其中一个服务器做测试,关闭后访问,当访问到已经宕机的服务器时,很明显的发现浏览器会加载一秒钟(设置的一秒监听)过后重新定向到另外一台服务器,避免了宕机出现不能访问的情况。
反向代理
作用:保证系统安全,不暴露服务器IP,利用nginx服务器,利用内网ip进行访问,避免出现攻击服务器的情况
启动本地tomact,127.0.0.1:8080可以访问到tomcat管理页面
效果:通过 bbs.liaoxiang.com 可以访问到我的tomcat管理页面(跳转到 http://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页面
负载均衡(就是多台服务器情况下实现均衡访问的问题)
在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处理了两次,成功实现了负载均衡
应用服务器宕机解决办法
配置文件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板块的Nginx+keepalived实现高可用
配置成功!来自【LLL丶禾羊】博客相关文章推荐
- 服务器出现宕机可能的原因以及解决办法介绍
- 后端服务器宕机的解决办法
- 服务器出现宕机可能的原因以及解决办法介绍
- 一种跨域判断服务器是否宕机的JS解决办法
- Domino服务器宕机后无法启动的解决办法——仅出现版本信息
- 服务器出现宕机可能的原因以及解决办法
- “/ArcGIS/rest”应用程序中的服务器错误——解决办法
- 英雄联盟服务器正忙请稍后再试解决办法
- 远程桌面超大最大连接数,无法连接服务器解决办法[转载]
- 【水晶玻璃鞋 11】解决Filezilla server 搭建的FTP服务器本机可以访问,而其他主机无法访问的办法(不关防火墙)
- win2008R2服务器密码忘记解决办法
- 服务器不支持FLV的解决办法
- 本机访问虚拟机Web服务器失败的解决办法
- “代理XP”组件已作为此服务器安全配置的一部分被关闭的解决办法
- 服务器上播放不了特殊格式的文件,如播放不了lfv格式文件的解决办法
- outlook2003连接exchange2007及以上服务器的终极解决办法
- axis2 服务器未能识别 HTTP 头 SOAPAction 的值 解决办法
- Apache服务器上部署的网站乱码问题的解决办法
- 谷歌浏览器同步服务器正忙,请稍后重试的解决办法
- 腾讯云服务器外网ping不通解决办法