关于Nginx+Tomcat负载均衡群集的实战详解
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,下文给大家带来关于Nginx+Tomcat负载均衡群集的实战详解,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个
千家信息网最后更新 2025年02月03日关于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安全错误
数据库的锁怎样保障安全
安阳市服务器价格
理光无线打印服务器
有什么自学数学软件开发
天融信软件开发级别
oa系统数据库设计er图
数据库技术是数据管理
工业网络技术社会环境分析
XRD 的PDF卡片数据库
联想软件开发校招二面
微信添加好友数据库设计
网络技术与管理测试题
网络安全等级规定标准
软件开发固态硬盘要求
数据库安全验证方式
odbc接数据库
苹果牛服务器
网络安全实时地图怎么看
童话翻唱软件开发
银川会员软件开发公司
数据库监听不能启动不了
有网有电有服务器怎么挣钱
微信公众号网络安全管理
好有服务器
手机待机完后提示连接不上服务器
系统平台管理服务器
安徽大学数据库应用基础试题
网络安全需要打代码么
英雄杀一直连接服务器怎么回事
服务器的安全防护注意事项
网络安全岗位应聘