Nginx负载均衡配置(实现多台主机应用负载均衡并且隐藏应用主机不受攻击)
2015-09-11 15:31
651 查看
前期由于公司主机受到攻击,给公司带来了不小的损失,也给用户带来了很大的困扰,由于当时受到攻击后不能快速将服务和应用切换到另外的主机而造成的,公司经过这场风波后,然后就考虑到了用Nginx隐藏相关服务和应用主机,下面我就来具体说说例子。
一.需要准备主机:
xx.xxx.xx.1 (WEB应用主机)
xx.xxx.xx.2 (WEB应用主机)
xx.xxx.xx.3 (存储相关静态文件主机(例如:图片、静态网页))
xx.xxx.xx.4 (存储相关静态文件主机(例如:图片、静态网页))
二.部署WEB应用
在两台WEB应用主机上部署好自己的WEB应用,即后台进程服务(注:两台主机上的后台进程涉及到修改表操作的,请在一台主机上部署即可,避免重复操作或者重复写表)
三.安装Nginx服务
1.在两台文件存储主机上安装nginx(如果有不会安装nginx的同学,请直接查看我写的博客,简单快捷,博客地址:http://blog.csdn.net/rjx512com/article/details/47658971)。
2.配置nginx
两台主机上配置的nginx是一样的,都是采用域名重定向的规则来的,随便看一台主机上Nginx的配置
![](https://img-blog.csdn.net/20150911163407733?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
其中一个域名就对应一个配置,我就贴一个域名的配置供大家参考,请大家看看客服系统域名配置(ccs.conf)
![](https://img-blog.csdn.net/20150911163504387?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
/file/目录是指存储的相关静态文件(包括WEB应用中需要的css、js、image以及从应用服务同步过来的静态文件,后面我会跟大家讲解服务器之间的文件同步)。
ccsapp指的就是WEB应用主机,也就是我上面说的WEB应用主机。
其实做完上面的工作就已经配置完成了,我想大家更想知道原理,其实原理很简单,首先两台文件存储主机的作用就是作为proxy来用,目的就是为了隐藏应用主机,暴露在外的只是两台静态文件主机。如果用户来攻击静态文件主机,我们就可以快速切换到另外两台静态文件主机,不会有任何影响,前提是另外两台主机和我上面配置的静态文件主机,nginx的配置是完全一致的。然后大家就会问我了,其他的两台静态文件主机怎么能保证文件一致呢,如果不一致的话,切换过去就会有问题了,确实是这样,所以我们首先就要保证静态文件一致。保证静态文件一致的方法其实也很简单,在我之前写的博客中有介绍,如果大家想了解的话,可以看看我之前的博客:http://blog.csdn.net/rjx512com/article/details/47658323
一.需要准备主机:
xx.xxx.xx.1 (WEB应用主机)
xx.xxx.xx.2 (WEB应用主机)
xx.xxx.xx.3 (存储相关静态文件主机(例如:图片、静态网页))
xx.xxx.xx.4 (存储相关静态文件主机(例如:图片、静态网页))
二.部署WEB应用
在两台WEB应用主机上部署好自己的WEB应用,即后台进程服务(注:两台主机上的后台进程涉及到修改表操作的,请在一台主机上部署即可,避免重复操作或者重复写表)
三.安装Nginx服务
1.在两台文件存储主机上安装nginx(如果有不会安装nginx的同学,请直接查看我写的博客,简单快捷,博客地址:http://blog.csdn.net/rjx512com/article/details/47658971)。
2.配置nginx
两台主机上配置的nginx是一样的,都是采用域名重定向的规则来的,随便看一台主机上Nginx的配置
其中一个域名就对应一个配置,我就贴一个域名的配置供大家参考,请大家看看客服系统域名配置(ccs.conf)
/file/目录是指存储的相关静态文件(包括WEB应用中需要的css、js、image以及从应用服务同步过来的静态文件,后面我会跟大家讲解服务器之间的文件同步)。
ccsapp指的就是WEB应用主机,也就是我上面说的WEB应用主机。
其实做完上面的工作就已经配置完成了,我想大家更想知道原理,其实原理很简单,首先两台文件存储主机的作用就是作为proxy来用,目的就是为了隐藏应用主机,暴露在外的只是两台静态文件主机。如果用户来攻击静态文件主机,我们就可以快速切换到另外两台静态文件主机,不会有任何影响,前提是另外两台主机和我上面配置的静态文件主机,nginx的配置是完全一致的。然后大家就会问我了,其他的两台静态文件主机怎么能保证文件一致呢,如果不一致的话,切换过去就会有问题了,确实是这样,所以我们首先就要保证静态文件一致。保证静态文件一致的方法其实也很简单,在我之前写的博客中有介绍,如果大家想了解的话,可以看看我之前的博客:http://blog.csdn.net/rjx512com/article/details/47658323
相关文章推荐
- Nginx 下缓存静态文件(如css js)
- 阿里云服务器cent0S安装web环境PHP+MySql+Nginx,给nginx添加网站
- Nginx和LVS概述
- nginx之基础命令(压缩、自动列目录、浏览器本地缓存)
- Nginx+Lua+GraphicsMagick实现动态生成指定尺寸的图片
- nginx之基础命令(日志分析)
- lnmp配置nginx
- Nginx限制带宽配置示例
- nginx 高并发配置参数(转载)
- Nginx配置upstream实现负载均衡
- ubuntu nginx configure 需要额外安装的库
- ubuntu下配置nginx+php+mysql详解
- centos/rhel下实现nginx自启动脚本实例
- centos下nginx启动脚本和chkconfig管理
- 1.7-nginx用户认证
- windows 下nginx和php的配置
- nginx优化
- nginx源码安装
- nginx + PHP (FastCGI) 高性能服务器部署
- nginx + ngx_lua安装测试