Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。
那在高并发下,我们该如何使用nginx对我们的web项目实现负载均衡,以缓解服务器压力,避免宕机呢?步骤如下:
在Tomcat上部署web项目,nginx为反向代理服务器:
1:上传web项目war包到 Linux中的Tomcat下的webapp目录中
2:有几台负载均衡的Tomcat就上传几次
每个Tomcat的配置文件中(conf中的server.xml中)有三个需要修改的位置:
- 修改Shutdown端口 (找默认为8005的)
- 修改访问端口(找默认8080的)
- 修改8009端口(找默认8009的)
- 在bin/startup.sh 启动所有的Tomcat服务。
这里若启动不成功,提示:-bash: ./startup.sh: Permission denied,这是因为权限问题
解决:
在bin目录下输入: chmod u+x *.sh 即可正常启动服务
3:修改nginx的配置文件,指定负载均衡的Tomcat位置以及拦截请求
nginx.conf配置文件中修改location
指定代理对象proxy_pass将请求转发到指定的服务器位置,即upstream 后面的要跟代理地址一样
注:upstream中的ip加端口号就是一个服务器,可以设置多个,nginx会将请求均匀分开。