Nginx+Tomcat负载均衡群集+反向代理
实验环境
Nginx服务器(192.168.13.177) Tomcat1服务器(192.168.13.151) Tomcat2服务器 (192.168.13.178) client测试机
一,负载均衡
1,在Tomcat1,Tomcat2上安装Tomcat服务
[ ~]# systemctl stop firewalld.service ##关闭防火墙
[ ~]# mkdir /abc
[ ~]# mount.cifs //192.168.100.3/LNMP-C7 /abc/
[ ~]# cd /abc/tomcat/
[ tomcat]# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/ ##解压JDK
[ tomcat]# vim /etc/profile ##配置环境变量
##大G末行加入
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
[ tomcat]# source /etc/profile ##刷新配置文件
[ tomcat]# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/ ##解压
[ tomcat]# cd /usr/local/
[ local]# mv apache-tomcat-8.5.16/ tomcat
[ local]# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/
##将启动和关闭脚本便于系统识别
[ local]# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/
[ local]# mkdir -p /web/webapp1 ##创建站点
[ local]# vim /web/webapp1/index.jsp ##写入jsp网页内容
##jsp网页内容
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("Welcome KGC Web");%> ##输出信息
</body>
</html>
[ local]# vim /usr/local/tomcat/conf/server.xml ##修改Tomcat配置文件
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="/web/webapp1" path="" reloadable="false"> ##添加站点信息
</Context>
[ ~]# startup.sh ##启动服务
##Tomcat上网页内容为accp其他配置一样2,在Nginx服务器上安装Nginx
[ ~]# systemctl stop firewalld.service ##关闭防火墙 [ ~]# setenforce 0 [ ~]# yum install pcre-devel zlib-devel gcc gcc-c++ make -y ##安装环境必要组件 [ ~]# mkdir /abc [ ~]# mount.cifs //192.168.100.3/LNMP-C7 /abc/ ##挂载 Password for //192.168.100.3/LNMP-C7: [ ~]# cd /abc/ [ abc]# tar zxvf nginx-1.12.2.tar.gz -C /usr/local/ ##解压 [ abc]# useradd -M -s /sbin/nologin nginx ##创建系统用户 [ abc]# cd /usr/local/nginx-1.12.2/ [ nginx-1.12.2]# ./configure \ ##配置 > --prefix=/usr/local/nginx > --user=nginx > --group=nginx > --with-http_stub_status_module > --with-http_gzip_static_module > --with-http_flv_module [ nginx-1.12.2]# make && make install ##编译安装
3,修改Nginx配置文件
[ nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream tomcat-server { #添加地址池
server 192.168.13.151:8080 weight=1;
server 192.168.13.178:8080 weight=1;
}
server {
listen 80;
.....省略
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat-server; #添加代理,调用服务器地址池
}
[ nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ ##便于系统识别
[ nginx-1.12.2]# nginx ##开启服务4,使用client测试机访问nginx代理服务器


二,动静分离
1,在Nginx上修改配置文件
[ nginx-1.12.2]# vim /etc/init.d/nginx ##编写service启动脚本
#!/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
[ nginx-1.12.2]# chmod +x /etc/init.d/nginx
[ nginx-1.12.2]# chkconfig --add nginx
[ nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
server {
...省略...
location ~.*.jsp$ { ##匹配jsp页面跳转代理服务器池
proxy_pass http://tomcat-server;
proxy_set_header Host $host;
}
location / {
root html/test; ##修改站点
index index.html index.htm;
proxy_pass http://tomcat-server;
}
[ nginx-1.12.2]# vim /usr/local/nginx/html/index.html ##编写静态网页
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>静态页面</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>静态页面</h1>
<p>这是个静态页面</p>
</body>
</html>
[ nginx-1.12.2]# service nginx stop ##关闭开启服务
[ nginx-1.12.2]# service nginx start2,在Tomcat1,Tomcat2上创建jsp动态页面
[ ~]# mkdir /usr/local/tomcat/webapps/test [ ~]# vim /usr/local/tomcat/webapps/test/index.jsp <!DOCTYPE html> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.Date" %> <%@ page import="java.text.SimpleDateFormat" %> ##开头申明 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/ html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>动态页面</title> </head> <body> <div>动态页面1</div> </body> </html> ##在Tomcat2上修改为动态页面22 //访问静态 http://192.168.13.177/ //访问动态 http://192.168.13.177/test/index.jsp
Nginx处理静态图片,Tomcat处理动态页面
1,在Tomcat1,Tomcat2上页面添加图片
[ ~]# vim /usr/local/tomcat/webapps/test/index.jsp
<body>
<div>动态页面</div><br><img src="11.jpg"> //添加页面图片
</body>
[ local]# vim /usr/local/tomcat/conf/server.xml
#在第149行下追加以下条目,
<Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="false">
</Context>
[ test]# shutdown.sh ##关闭重启
[ test]# startup.sh2,在Nginx上修改配置文件
[ nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
location ~.*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {
root html/test;
expires 30d;
}
[ nginx-1.12.2]# mkdir /usr/local/nginx/html/test
[ nginx-1.12.2]# cp /abc/11.jpg /usr/local/nginx/html/test/
#重启服务
[ html]# service nginx restart3,使用client测试


谢谢阅读!!
相关推荐
tinydu 2020-08-03
yungame 2020-04-25
魏莉的微 2020-04-08
畅聊架构 2020-04-07
ysmh00 2020-03-27
tinydu 2020-03-27
tinydu 2020-02-12
登峰小蚁 2020-01-12
GimmeS 2020-01-01
hackerdotcn 2013-06-18
zllbirdonland 2019-12-23
aolishuai 2019-11-25
msg 2019-11-05
Noontec 2019-11-17
Nireus 2019-11-09
thefutureIwant 2019-11-06
crazyjingling 2017-08-01
魏莉的微 2019-10-28