关于Nginx+Tomcat负载均衡群集的实战详解-创新互联
下文给大家带来关于Nginx+Tomcat负载均衡群集的实战详解,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用创新互联在行业内累计的经验来做一个解答。
创新互联是一家以成都网站建设公司、网页设计、品牌设计、软件运维、营销推广、小程序App开发等移动开发为一体互联网公司。已累计为成都办公窗帘等众行业中小客户提供优质的互联网建站和软件开发服务。实验拓扑图
实验环境部署
云服务器角色 | 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 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
#添加执行权限
[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 80
tcp 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 -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: 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 nginx
tcp 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/profile
export JAVA_HOME=/usr/local//jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export 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/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local//jdk1.8.0_91/jre
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
#查看服务端口状态
[root@tomcat01 local]# netstat -ntap | grep 8080
tcp6 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
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:关于Nginx+Tomcat负载均衡群集的实战详解-创新互联
分享路径:http://pwwzsj.com/article/eeoig.html