文章目录

1. 配置反向代理1.1 前置准备1.2 代理服务器配置1.3 真实服务器配置1.4 客户机配置

2. Tomcat 多实例部署2.1 部署JDK2.2 设置JDK环境变量2.3 部署Tomcat服务2.4 路径启动

3. Nginx联动Tomcat实现动静分离、负载均衡3.1 基本原理3.2 前置准备3.3 配置nginx1实现四层代理,负载均衡3.4 配置nginx2\3实现七层代理,动静分离3.5 Tomcat配置,作为动态资源服务器3.6 测试

1. 配置反向代理

1.1 前置准备

#所需环境

192.168.67.100 #nginx代理服务器

192.168.67.101 #客户机

192.168.67.102 #真实服务器

1.2 代理服务器配置

vim /apps/nginx/conf/nginx.conf

#编辑主配置文件

#在http块中添加

include /apps/nginx/conf.d/*.conf

vim /apps/nginx/conf.d/pc.com

#编辑子配置文件

server{

listen 192.168.67.100:80;

server_name www.pc.com;

location / {

root /apps/nginx/html/pc;

proxy_pass http://192.168.67.102;

}

}

nginx -t

nginx -s reload

#重新加载

1.3 真实服务器配置

systemctl stop firewalld

setenforce 0

#关闭防火墙和selinux

yum install httpd -y #安装服务

cd /var/www/html

echo "Hi~" > index.html #主页内容

systemctl start httpd #开启服务

vi /etc/hosts

#添加地址映射

192.168.67.100 www.pc.com

1.4 客户机配置

vim /etc/hosts

192.168.67.100 www.pc.com

测试

客户机访问代理服务器

curl www.pc.com

2. Tomcat 多实例部署

2.1 部署JDK

#所需安装包

apache-tomcat-9.0.16.tar.gz

jdk-8u201-linux-x64.rpm

rpm -ivh jdk-8u201-linux-x64.rpm

2.2 设置JDK环境变量

#查看全局配置文件

vim /etc/profile

vi /etc/profile.d/java.sh

export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64

#java家目录

export JRE_HOME=$JAVA_HOME/jre

#jre家目录

export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar

#指向java工具包和环境包

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

#java环境变量

source /etc/profile.d/java.sh

#调用Java脚本

java -version

#查看当前JDK版本

2.3 部署Tomcat服务

cd /opt

tar xf apache-tomcat-9.0.16.tar.gz

#解压tomcat源码包

cp -r apache-tomcat-9.0.16/ /usr/local/tomcat1

cp -r apache-tomcat-9.0.16/ /usr/local/tomcat2

cp -r apache-tomcat-9.0.16/ /usr/local/tomcat3

#将tomcat复制到usr/local ,并且改名,方便管理

#更改tomcat1、2、3 server.xhl文件

vi /usr/local/tomcat1/conf/server.xml

重复操作

#修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量

#tomcat1

vi /usr/local/tomcat1/bin/startup.sh

#添加

export CATALINA_BASE=/usr/local/tomcat1

export CATALINA_HOME=/usr/local/tomcat1

export TOMCAT_HOME=/usr/local/tomcat1

vi /usr/local/tomcat1/bin/shutdown.sh

#添加内容

export CATALINA_BASE=/usr/local/tomcat1

export CATALINA_HOME=/usr/local/tomcat1

export TOMCAT_HOME=/usr/local/tomcat1

重复上述操作

2.4 路径启动

#绝对路径启动

/usr/local/tomcat1/bin/startup.sh

/usr/local/tomcat2/bin/startup.sh

/usr/local/tomcat3/bin/startup.sh

ss -natp |grep java

#查看进程

#网页启动

192.168.67.102:8081

192.168.67.102:8082

192.168.67.102:8083

3. Nginx联动Tomcat实现动静分离、负载均衡

3.1 基本原理

服务端接收来自客户端的请求中,包含静态资源和动态资源,静态资源由Nginx进行处理,动态资源Nginx转发至后端由tomcat负责处理。

3.2 前置准备

#tomcat多实例

192.168.67.102:8081

192.168.67.102:8082

192.168.67.102:8083

#四层实现负载均衡

nginx1 192.168.67.100 #用性能最好的一台

#七层实现动静分离

nginx2 192.168.67.101

nginx3 192.168.67.103

#客户机

192.168.67.104

3.3 配置nginx1实现四层代理,负载均衡

systemctl stop firewalld

setenforce 0

#关闭防火墙和selinux策略

#编译安装nginx并加入systemd服务

#依赖

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

#创建管理用户

useradd -M -s /sbin/nologin nginx

#编译安装ngnix

cd /opt

#解压缩软件包

tar -zxf nginx-1.18.0.tar.gz

cd nginx-1.18.0

#加入源码包

#搭建编译环境

./configure \

--prefix=/apps/nginx \

--user=nginx \

--group=nginx \

--with-file-aio \ #启用文件修改支持

--with-http_stub_status_module \ #启用状态统计

--with-http_gzip_static_module \ #启用 gzip静态压缩

--with-http_flv_module \ #启用 flv模块,提供对 flv 视频的伪流支持

--with-http_ssl_module #启用 SSL模块,提供SSL加密功能

--with-stream #启用 stream模块,提供4层调度

make -j2 && make install

#编译并安装

#软连接 添加到环境变量中

ln -s /apps/nginx/sbin/nginx /usr/local/

#添加到系统服务中

vim /lib/systemd/system/nginx.service

[Unit]

Description=nginx

After=network.target

[Service]

Type=forking

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStart=/usr/local/nginx/sbin/nginx

ExecrReload=/bin/kill -s HUP $MAINPID

ExecrStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=true

[Install]

WantedBy=multi-user.target

systemctl daemon_reload

chmod 754 /lib/systemd/system/nginx.service

#启动nginx

systemctl start nginx

systemctl status nginx

#查看运行状态

#配置负载均衡

vim /apps/nginx/conf/nginx.conf

...

#写在http部分上面

stream {

upstream myserver {

server 192.168.67.101:80 weight=1;

server 192.168.67.103:80 weight=1;

}

server {

listen 80;

proxy_pass myserver;

}

}

nginx -t

nginx -s reload

#重新加载

ss -natp |grep nginx

#查看是否正常运行

3.4 配置nginx2\3实现七层代理,动静分离

nginx2和3配置基本相同,主页文件相同名字,不同内容的文本和静态网页,用于测试负载均衡

#前置准备

systemctl disable firewalld --now

setenforce 0

#yum安装nginx

yum -y install epel-release.noarch -y

yum -y install nginx

#如果开启了httpd服务关了,不然会导致nginx无法开启

#开启服务

systemctl start nginx

vim /etc/nginx/nginx.conf

#编辑主配置文件

#添加并编辑子配置文件

touch conf.d/scj.conf

vim conf.d/scj.conf

nginx -t

nginx -s reload

#重新加载

#静态页面

cd /usr/share/nginx/html

mkdir scj

echo "This is nginx2 ,from scj" > scj/index.html

3.5 Tomcat配置,作为动态资源服务器

#前置准备

systemctl stop firerwalld

setenforce 0

#当前已经部署了tomcat多实例

#详情见上

#准备动态资源

mkdir /usr/local/tomcat1/webapps/test

mkdir /usr/local/tomcat2/webapps/test

mkdir /usr/local/tomcat3/webapps/test

#创建动态资源根目录

#创建动态页面

#tomcat1

vi /usr/local/tomcat1/webapps/test/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

JSP test1 page

<% out.println("动态页面 1,http://www.test1.com");%>

#创建动态页面

#tomcat2

vi /usr/local/tomcat2/webapps/test/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

JSP test2 page

<% out.println("动态页面 2,http://www.test1.com");%>

#tomcat3

vi /usr/local/tomcat3/webapps/test/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

JSP test3 page

<% out.println("动态页面 3,http://www.test1.com");%>

#重启服务

/usr/local/tomcat1/bin/shutdown.sh

/usr/local/tomcat1/bin/startup.sh

/usr/local/tomcat2/bin/shutdown.sh

/usr/local/tomcat2/bin/startup.sh

/usr/local/tomcat3/bin/shutdown.sh

/usr/local/tomcat3/bin/startup.sh

ss -natp |grep java

#查看运行情况

3.6 测试

#访问静态资源

浏览器访问 http://192.168.67.100/scj/index.html

多次刷新

#访问动态资源

http://192.168.67.100/test/index.jsp

多次刷新

文章链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: