Nginx实现负载均衡

负载均衡即是代理服务器将接收的请求均衡的分发到各服务器中。

负载均衡的优势在访问量少或并发小的时候可能并不明显,且不说淘宝双11、铁道部抢票这种级别的访问量、高并发,就是一般网站的抢购活动时,也会给服务器造成很大压力,可能会造成服务器崩溃。而负载均衡可以很明显的减少甚至消除这种情况的出现,下面我们说说实现方法。

准备工作:

首先下载安装Nginx。

下载完成解压到本地盘符。解压后是这样的

注意:nginx.exe是启动的程序,为了方便我们可以手写两个bat文件:

我将nginx解压到了我本地的E盘

reload.bat

stop.bat

我们双击nginx.exe就可以启动nginx,我们启动一下,打开任务 管理器看到

就说明启动成功。

接下来配置两个tomcat来进行测试,下面是我本地的tomcat,存放在E盘中。

拷贝一份放到我的D盘中,并修改端口号,默认 为8080,我们将D盘中的tomcat端口号修改为8082,将E盘中的tomcat端口号修改为8081。

端口号的修改:

找到conf

修改

修改如下:

将E盘中的tomcat端口号修改为8081;只需修改默认文件中的一点

配置nginx的配置文件:

找到文件中的server节点,然后再上面添加

然后修改server:

配置完成后,启动两个tomcat,为了区分是哪个tomcat,我把tomcat的默认访问页进行了修改。

然后我们再地址栏输入localhost,试试效果:

访问了tomcat-8082,刷新一下:

可以看到访问了tomcat-8081

各参数的含义:

小结:

nginx作为一个反向代理服务器,能缓存我们项目的静态文件,并实现反向代理与均衡负载,可以有效减少服务器压力,即使项目不大,也可以使用。

大家另外应该都还发现了个问题,虽然这样请求能分别请求到两个tomcat上,如果是一般不需身份校检的或什么认证的方法尚可,但如果出现这类情况:

我们在tomcat1上进行了登录,这时用户session当然是存在tomcat1上的,而这时进入个人中心的请求请求到tomcat2上了,这时就会出现问题了。tomcat2会告诉你还未登录,这显然不是我们想看到的。

这就涉及到session共享了,如何让两个服务器上的session共用。我这里放到下次再说,可能要过个好几天。

感谢大家支持。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180815G08CWR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券