关于Nginx+Tomcat负载均衡群集的实战详解
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,下文给大家带来关于Nginx+Tomcat负载均衡群集的实战详解,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个
千家信息网最后更新 2025年12月02日关于Nginx+Tomcat负载均衡群集的实战详解
下文给大家带来关于Nginx+Tomcat负载均衡群集的实战详解,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个解答。
实验拓扑图
实验环境部署
| 云服务器角色 | IP地址 | 操作系统 |
|---|---|---|
| Nginx服务器 | 192.168.142.131 | centos 7 |
| tomcat 01服务器 | 192.168.142.134 | centos 7 |
| tomcat 02服务器 | 192.168.142.130 | centos 7 |
实验步骤
第一步:配置Nginx服务器
#安装环境[root@nginx ~]#yum install gcc gcc-c++ pcre-devel zlib-devel #添加Nginx管理用户[root@nginx ~]# useradd -M -s /sbin/nologin nginx#远程共享源码包[root@nginx ~]# smbclient -L //192.168.142.1[root@nginx ~]# mount.cifs //192.168.142.1/tomcat /mnt#解压源码包[root@nginx ~]# cd /mnt[root@nginx ~]# tar zxvf nginx-1.12.0.tar.gz -C /opt[root@nginx mnt]# cd /opt/nginx-1.12.0/#进行configure配置[root@nginx nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module#编译及编译安装[root@nginx nginx-1.12.0]# make && make install#创建软连接让系统识别nginx启动脚本[root@nginx nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #开启服务[root@nginx nginx-1.12.0]# nginx[root@nginx nginx-1.12.0]# systemctl stop firewalld.service[root@nginx nginx-1.12.0]# setenforce 0#启动配置文件目录创建启动脚本[root@nginx nginx-1.12.0]# vim /etc/init.d/nginx #!/bin/bash# chkconfig: - 99 20# description: Nginx Service Control ScriptPROG="/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 1esacexit 0#添加执行权限[root@nginx nginx-1.12.0]# chmod +x /etc/init.d/nginx#将nginx增加到service管理[root@nginx nginx-1.12.0]# chkconfig --add nginx#启动服务[root@nginx nginx-1.12.0]# service nginx start#查看服务端口状态[root@nginx nginx-1.12.0]# netstat -ntap | grep 80tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 42092/nginx: master #修改配置文件[root@nginx nginx-1.12.0]# vim /usr/local/nginx/conf/nginx.conf #gzip on; #追加以下四行条目,用以定义tomcat服务池并分配权重 upstream tomcat-server { server 192.168.142.134:8080 weight=1; server 192.168.142.130:8080 weight=1; } server { listen 80; server_name localhost; #追加以下四行条目,用以支持 location ~.*.jsp$ { proxy_pass http://tomcat-server; proxy_set_header Host $host; } #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; #追加以下一行条目,用以调用tomcat服务池资源 proxy_pass http://tomcat-server; } #追加以下四行条目,用以支持各类图片的缓存30天 location ~.*\.(gif|jpg|jpeg|png|bmp|swf|css)$ { root html/test; expires 30d; }#检查语法[root@nginx nginx-1.12.0]# nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful#重启服务,并查看服务端口状态[root@nginx nginx-1.12.0]# service nginx stop[root@nginx nginx-1.12.0]# service nginx start[root@nginx nginx-1.12.0]# netstat -ntap | grep nginxtcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 69680/nginx: master#创建站点目录[root@nginx nginx-1.12.0]# mkdir /usr/local/nginx/html/test#复制图片到站点目录中[root@nginx nginx-1.12.0]# cp /mnt/game.jpg /usr/local/nginx/html/test第二步:配置Tomcat01服务器
#远程共享源码包[root@tomcat01 ~]# smbclient -L //192.168.142.1[root@tomcat01 ~]# mount.cifs //192.168.142.1/tomcat /mnt#解压源码包cd /mnt[root@tomcat01 mnt]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local[root@tomcat01 mnt]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/#声明环境变量[root@tomcat01 mnt]# vim /etc/profileexport JAVA_HOME=/usr/local//jdk1.8.0_91export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH#生效环境变量 [root@tomcat01 mnt]# source /etc/profile[root@tomcat01 ~]# cd /usr/local[root@tomcat01 local]# mv apache-tomcat-8.5.16/ tomcat##创建tomcat启动脚本的软链接到系统目录中,方便系统识别[root@tomcat01 local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/#创建tomcat关闭脚本的软链接到系统目录中,方便系统识别[root@tomcat01 local]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/#启动服务 [root@tomcat01 local]# startup.sh Using CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/local//jdk1.8.0_91/jreUsing CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jarTomcat started.#查看服务端口状态[root@tomcat01 local]# netstat -ntap | grep 8080tcp6 0 0 :::8080 :::* LISTEN 111655/java #创建站点目录[root@tomcat local]# mkdir /usr/local/tomcat/webapps/test#编辑站点首页内容[root@tomcat01 local]# vim /usr/local/tomcat/webapps/test/index.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="java.util.Date" %><%@ page import="java.text.SimpleDateFormat" %> 动态网页 Welcom to Jiangsu
[root@tomcat01 local]# vim /usr/local/tomcat/conf/server.xml #在第149行下追加以下条目, #重启服务[root@tomcat01 local]# shutdown.sh [root@tomcat01 local]# startup.sh#关闭防火墙和安全功能[root@tomcat02 local]# systemctl stop firewalld.service [root@tomcat02 local]# setenforce 0第三步:配置Tomcat02服务器,步骤和Tomcat01服务器一样
#编辑站点首页内容[root@tomcat01 local]# vim /usr/local/tomcat/webapps/test/index.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="java.util.Date" %><%@ page import="java.text.SimpleDateFormat" %> 动态网页 Welcom to NanJing
第四步:使用客户机验证网页

以下网页内容不一样,是为了验证负载均衡群集的轮询机制,真实线网环境中网页内容是一样的!
看了以上关于Nginx+Tomcat负载均衡群集的实战详解,如果大家还有什么地方需要了解的可以在行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,技术工程师在行业内拥有十几年的经验了。官网链接www.yisu.com
服务
服务器
目录
系统
配置
条目
环境
网页
均衡
内容
源码
用以
站点
脚本
状态
端口
链接
四行
实验
实战
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
endnote数据库转移到电脑
网络技术故障解决
中职学校计算机网络技术
金融 互联网 科技
系统集成工程师和数据库哪个好
代码中数据库服务器名字
最混乱的服务器解说合集
提取安卓设备应用数据库
大刀哥玩吃鸡丧尸服务器
重庆公共数据库挖掘数据科学方案
网络安全信息咨询平台
十九大网络安全保卫工作
软件开发做些哪些资料
网络运营者网络安全
学安卓手机软件开发
计算机信息网络技术基础知识
信息网络安全工程师试题
警告本服务器位于美利坚合众国
乡镇单位网络安全检查
软件开发费用分摊多久年限
应用服务器简单叙述
网络安全公司如何上市
服务器id自动重启
通信系统网络技术
一般网吧有多少台服务器
服务器做完raid5后怎么分区
网络技术论坛峰会
精灵起源服务器怎么获得金币
抢号软件开发原理
长沙优文龙科网络技术