Nginx+Tomcat 部署负载均衡集群
文章目录
[隐藏]
- 一、Tomcat服务器1、Tomcat服务器2
- 二、Nginx服务器
- 三、配置nginx负载均衡集群
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。在Java的Web架构中,通常使用Tomcat和Nginx进行配合,Nginx作为反向代理服务器,可以对后台的Tomcat服务器负载均衡,也可以让Nginx处理静态页面的请求、Tomcat处理JSP页面请求达到动静分离的目的。
系统环境:
软件包百度下载: https://pan.baidu.com/share/init?surl=3fbIn0EuEcSVplRk4tRnAg&third=15 密码:6b7e
网站拓扑架构图:
开始部署
一、Tomcat服务器1、Tomcat服务器2
1.安装jdk并设置java环境
#安装jdk软件包 rpm -ivh jdk-10.0.1_linux-x64_bin.rpm #添加jdk的环境变量,新建java.sh并写入以下内容 vim /etc/profile.d/java.sh export JAVA_HOME=/usr/java/jdk-10.0.1 export PATH=$JAVA_HOME/bin:$PATH #加载环境变量 source /etc/profile.d/java.sh
2.查看jdk版本信息
java -version
如下图表示jdk已经安装成功了
3.解压并安装tomcat
#解压缩软件包 tar zxvf apache-tomcat-8.5.11.tar.gz #移动tomcat目录 mv apache-tomcat-8.5.11 /usr/local/tomcat8
4.启动tomcat服务
#启动服务 /usr/local/tomcat8/bin/startup.sh
- 默认tomcat运行在8080端口,检查服务是否成功启动
netstat -tunlp | grep 8080
6.创建站点目录
mkdir -p /web/webapp
7.为站点新建首页文件index.jsp
vim /web/webapp/index.jsp
#以为下index.jsp内容 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %> <html> <head> <title>hello</title> </head> <body> <% out.println("<h4>This is tomcat 1 web.</h4>"); %> </body> </html>
8.编辑tomcat主配置文件,以支持新站点:
vim /usr/local/tomcat8/conf/server.xml #在<Host>标签内,新增第二行记录 <Context docBase="/web/webapp" path="" reloadable="false"></Context>
9.重启tomcat服务
#关闭服务 /usr/local/tomcat8/bin/shutdown.sh #开启服务 /usr/local/tomcat8/bin/startup.sh #关闭安全设置 setenforce 0 #关闭防火墙 systemctl stop firewalld.service
Tomcat服务器1 和 Tomcat服务器2 安装及配置等一样,只是测试网页内容有差异,具体网页内容显示如下图
Tomcat服务器1:
Tomcat服务器2:
二、Nginx服务器
1.安装依赖包(需要连接网络或者通过系统镜像ISO文件安装)
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
2.创建管理用户nginx
useradd -M -s /sbin/nologin nginx
3.解压nginx,并进入解压后nginx目录
tar xzvf nginx-1.6.0.tar.gz -C /opt cd /opt/nginx-1.6.0/
4.配置
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module //开启stub_status状态统计模块//
5.编译及安装
make && make install
6.nginx连接至系统命令区,方便命令使用
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
7.创建nginx管理脚本
vi /etc/init.d/nginx
#!/bin/bash #chkconfig: - 99 20 #description: Nginx Service Control Script PROG="/usr/local/nginx/sbin/nginx" PIDF="/usr/local/nginx/logs/nginx.pid" case "$1" in start) $PROG ;; stop) kill -s QUIT $(cat $PIDF) ;; restart) $0 stop $0 start ;; reload) kill -s HUP $(cat $PIDF) ;; *) echo "Usage: $0 {start|stop|restart|reload}" exit 1 esac exit 0
8.为nginx赋予执行权限,并加入系统服务管理
chmod +x /etc/init.d/nginx chkconfig --add nginx
三、配置nginx负载均衡集群
- 修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf #http{}标签内添加以下命令 upstream tomcat_server { server 192.168.100.6:8080 weight=1; server 192.168.100.7:8080 weight=1; } #在location / {}标签内添加 location / { root html; index index.html index.htm; proxy_pass http://tomcat_server; #通过proxy_pass方法进行代理至tomcat_server的服务器组,其中http://不能省略 }
2.检查nginx配置
nginx -t
3.重启nginx服务
killall -1 nginx #关闭selinux setenforce 0 #关闭防火墙 systemctl stop firewalld.service
测试
客户机访问Nginx服务器IP地址:http://192.168.100.25/,通过不断的刷新浏览器测试,可以看到哦由于权重相同,页面在两个tomcat站点反复切换,这样说明负载均衡集群搭建成功了。
原文出处:51cto -> http://blog.51cto.com/10316297/2132039