关于Nginx+Tomcat负载均衡群集的实战详解
发表于:2024-11-15 作者:千家信息网编辑
千家信息网最后更新 2024年11月15日,下文给大家带来关于Nginx+Tomcat负载均衡群集的实战详解,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个
千家信息网最后更新 2024年11月15日关于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安全错误
数据库的锁怎样保障安全
传染病网络安全总结
四川电商软件开发哪家专业
数据库id自动生成6
c 数据库中精度是什么意思
网络安全建设和技术保障
网络技术服务公司存在的问题
我国网络安全法第47条
数据库报1067错误
平度软件开发哪家便宜
潢川网络安全战线
关于国家网络安全的感悟
网络安全技术数据加密数字
用友t3用什么服务器
sql数据库 修改空间
四川服务器电源价格是多少
怀柔区网络软件开发哪家便宜
服务器管理的内容
cocos 服务器
微服务 数据库
沈阳哪家软件开发最好
数据库包含着
直播软件开发需要哪些人才
网络技术组网
软件开发在哪里最好
数据库应用程序编程接口现状
camds数据库系统
江苏电商软件开发收费标准
西安软件开发专业大学
数据库锁定了怎么解除
网络安全列混合计算