中山学校的网站建设,瑞安机械网站建设,工程师报考网站,苏州优秀网站设计这里写目录标题 Tomcat多实例动静分离、负载均衡一、Tomcat多实例部署1、安装JDK2、安装启动tomcat 二、NginxTomcat负载均衡、动静分离1、Nginx负载均衡实现原理1.1 原理1.2 Nginx配置反向代理的主要参数 2、Nginx动静分离实现原理2.1 原理2.2 Nginx静态处理优势 3、动静分离配… 这里写目录标题 Tomcat多实例动静分离、负载均衡一、Tomcat多实例部署1、安装JDK2、安装启动tomcat 二、NginxTomcat负载均衡、动静分离1、Nginx负载均衡实现原理1.1 原理1.2 Nginx配置反向代理的主要参数 2、Nginx动静分离实现原理2.1 原理2.2 Nginx静态处理优势 3、动静分离配置七层代理1部署3台tomcat应用服务器1安装JDK2安装启动tomcat 2部署Nginx 负载均衡器1安装nginx2参数配置3配置nginx处理动态页面请求 3动静分离配置1配置tomcat动态页面2配置Nginx静态页面3测试动静分离效果 4、负载均衡配置四层代理1安装nginx服务器并配置动态和静态页面2部署nginx负载均衡器3配置反向代理的参数4关掉长连接5浏览器测试负载均衡效果 Tomcat多实例动静分离、负载均衡
一、Tomcat多实例部署
1、安装JDK
7-4192.168.210.104
cd /opt
tar xf jdk-8u91-linux-x64.tar.gz
#解压
mv jdk1.8.0_91/ /usr/local/
#移到/usr/local/目录下vim /etc/profile.d/java.sh
#配置环境变量
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:$JRE_HOME/bin:$PATHsource /etc/profile.d/java.sh
#刷新
java -version
#查看版本2、安装启动tomcat
1安装tomcat
cd /opt
tar xf apache-tomcat-8.5.16.tar.gz
cp -a apache-tomcat-8.5.16 /usr/local/tomcat1
#把apache-tomcat-8.5.16复制到tomcat1
cp -a apache-tomcat-8.5.16 /usr/local/tomcat2
#把apache-tomcat-8.5.16复制到tomcat2
cd /usr/local/
ls2修改 tomcat2 中的 server.xml 文件要求各 tomcat 实例配置不能有重复的端口号
#修改tomcat2的端口号
vim /usr/local/tomcat2/conf/server.xml
#8005改成8006
#8080改成8081
#8009改成80103修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件添加 tomcat 环境变量
vim /usr/local/tomcat1/bin/startup.sh
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
##添加以下内容
export CATALINA_BASE/usr/local/tomcat1
export CATALINA_HOME/usr/local/tomcat1
export TOMCAT_HOME/usr/local/tomcat1vim /usr/local/tomcat1/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE/usr/local/tomcat1
export CATALINA_HOME/usr/local/tomcat1
export TOMCAT_HOME/usr/local/tomcat1vim /usr/local/tomcat2/bin/startup.sh
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE/usr/local/tomcat2
export CATALINA_HOME/usr/local/tomcat2
export TOMCAT_HOME/usr/local/tomcat2vim /usr/local/tomcat2/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE/usr/local/tomcat2
export CATALINA_HOME/usr/local/tomcat2
export TOMCAT_HOME/usr/local/tomcat24启动各 tomcat 中的 /bin/startup.sh
/usr/local/tomcat1/bin/startup.sh
/usr/local/tomcat2/bin/startup.shss -lntp | grep java
#过滤java中开启的端口5浏览器访问测试
http://192.168.210.104:8080
http://192.168.210.104:8081二、NginxTomcat负载均衡、动静分离
1、Nginx负载均衡实现原理
1.1 原理
Nginx实现负载均衡是通过反向代理实现反向代理是原理
1.2 Nginx配置反向代理的主要参数
upstream 服务池名{}配置后端服务器池以提供响应数据proxy_pass http://服务池名配置将访问请求转发给后端服务器池的服务器处理
2、Nginx动静分离实现原理
2.1 原理
服务端接收来自客户端的请求中既有静态资源也有动态资源静态资源由Nginx提供服务动态资源Nginx转发至后端
2.2 Nginx静态处理优势
Nginx处理静态页面的效率远高于Tomcat的处理能力若Tomcat的请求量为1000次则Nginx的请求量为6000次Tomcat每秒的吞吐量为0.6MNginx的每秒吞吐量为3.6MNginx处理静态资源的能力是Tomcat处理的6倍
3、动静分离配置七层代理 1部署3台tomcat应用服务器
1安装JDK
#tomcat1和tomcat2在上面tomcat多实例部署中已经部署过了不再演示现在部署tomcat3#
7-3192.168.210.103
cd /opt
rpm -ivh jdk-8u201-linux-x64.rpm
#安装JDK
java -version
#查看版本设置JDK环境变量
vim /etc/profile.d/java.shexport JAVA_HOME/usr/java/jdk1.8.0_201-amd64
export JRE_HOME$JAVA_HOME/jre
export CLASSPATH.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH$JAVA_HOME/bin:$JRE_HOME/bin:$PATHsource /etc/profile.d/java.sh
java -version
#版本发生变化配置成功使用文本工具编写java源代码Hello.java
vim Hello.javapublic class Hello {public static void main(String[] args){System.out.println(Hello World!);}
}javac Hello.java
#生成字节码文件
java Hello
#运行字节码文件2安装启动tomcat
cd /opt/
tar xf apache-tomcat-9.0.16.tar.gz
#解压软件包
mv apache-tomcat-9.0.16 /usr/local/tomcat
#把源码包目录移到/usr/local/tomcat目录下cd /usr/local/tomcat/bin/
#切换到/usr/local/tomcat/bin/目录
ls
/usr/local/tomcat/bin/startup.sh
#启动
ss -lntp | grep :8080
#8080端口开启http://192.168.210.103:8080
#在浏览器访问8080端口tomcat部署完成2部署Nginx 负载均衡器
1安装nginx
#用yum安装的方式在192.168.210.105服务器上配置nginx
cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak
vim nginx.repo[nginx]
namenginx repo
baseurlhttp://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck1
enabled1
gpgkeyhttps://nginx.org/keys/nginx_signing.key
module_hotfixestrueyum install nginx -y2参数配置
vim /etc/nginx/nginx.conf
#修改主配置文件
http{
#配置负载均衡的服务器列表weight参数表示权重权重越高被分配到的概率越大
upstream backend{server 192.168.210.104:8080 weight1server 192.168.210.104:8081 weight1server 192.168.210.103:8080 weight1}
}3配置nginx处理动态页面请求
vim /etc/nginx/conf.d/default.conf
#配置Nginx处理动态页面请求将 .jsp文件请求转发到Tomcat 服务器处理
server{location ~* .*\.jsp$ {proxy_pass http://backend;#设置后端的Web服务器可以获取远程客户端的真实IP#设定后端的Web服务器接收到的请求访问的主机名域名或IP、端口默认HOST的值为proxy_pass指令设置的主机名。如果反向代理服务器不重写该请求头的话那么后端真实服务器在处理时会认为所有的请求都来自反向代理服务器如果后端有防攻击策略的话那么机器就被封掉了proxy_set_header HOST $host;##把$remote_addr赋值给X-Real-IP来获取源IPproxy_set_header X-Real-IP $remote_addr;##在nginx 作为代理服务器时设置的IP列表会把经过的机器ip代理机器ip都记录下来proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}nginx -t
#检查语法
nginx -s reload
#刷新3动静分离配置
1配置tomcat动态页面
#192.168.210.103服务器
vim /usr/local/tomcat/webapps/wyx/test.jsp
#制作test.jsp动态页面3
% page languagejava importjava.util.* pageEncodingUTF-8%
html
head
titleJSP tomcat3 page/title
/head
body
% out.println(动态页面 3,i love you);%
/body
/html#192.168.210.104服务器
cd /usr/local/tomcat1/webapps/
mkdir wyx
#建立wyx目录
cd wyx/
vim test.jsp
#编辑test.jsp动态页面1% page languagejava importjava.util.* pageEncodingUTF-8%
html
head
titleJSP tomcat1 page/title
/head
body
% out.println(动态页面 1,you like me);%
/body
/html#192.168.210.104服务器
cd /usr/local/tomcat2/webapps/
mkdir wyx
vim test.jsp
#编辑test.jsp动态页面2% page languagejava importjava.util.* pageEncodingUTF-8%
html
head
titleJSP tomcat2 page/title
/head
body
% out.println(动态页面 2,i love you and you like me);%
/body
/html在浏览器访问测试效果
http://192.168.210.103:8080/wyx/test.jsp
http://192.168.210.104:8080/wyx/test.jsp
http://192.168.210.104:8081/wyx/test.jsp2配置Nginx静态页面
cd /usr/share/nginx/html/
#切换到网页根目录
echo h1this is nginx static web1 page!/h1 test.html
#准备一个静态页面输入到test.html
systemctl start nginx
#开启nginxmkdir /usr/share/nginx/html/wyx
#创建wyx目录
mv test.html wyx/
#把test.html移到wyx目录下#在浏览器访问
http://192.168.210.105/wyx/test.html3测试动静分离效果
http://192.168.210.105/wyx/test.html
#测试静态页面效果192.168.210.105/wyx/test.jsp
#动态页面每刷新一次就会出现不同的动态页面4、负载均衡配置四层代理 1安装nginx服务器并配置动态和静态页面
#192.168.210.105服务器
scp /etc/yum.repos.d/nginx.repo 192.168.210.106:pwd
#把nginx传给192.168.210.106服务器#192.168.210.106服务器
systemctl stop firewalld
setenforce 0
#关闭防火墙
cd /etc/yum.repos.d/
ls
yum install nginx -y
#安装nginx#192.168.210.105服务器
cd /etc/nginx/
scp -r conf.d/ nginx.conf 192.168.210.106:pwd
#把nginx下的conf.d目录和nginx.conf文件传给192.168.210.106服务器
cd /usr/share/nginx/html/
scp -r wyx/ 192.168.210.106:pwd
#把wyx目录传给192.168.210.106服务器#192.168.210.106服务器
cd /usr/share/nginx/html/wyx/
vim test.html
#配置静态页面
h1this is nginx static web2 page!/h1cd /etc/nginx
vim nginx.conf
cd /etc/nginx/conf.d
vim default.conf
#查看一下nginx.conf和default.conf的配置
systemctl start nginx
#启动nginx#在浏览器访问动态页面和静态页面
192.168.210.106/wyx/test.html
192.168.210.106/wyx/test.jsp2部署nginx负载均衡器
#192.168.210.107服务器
systemctl stop firewalld
setenforce 0
#关闭防火墙
#安装nginx
yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel
#安装依赖包
cd /opt/
tar xf nginx-1.18.0.tar.gz
#解压
cd nginx-1.18.0/./configure --prefix/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_modulemake -j2 make install
#编译安装
vim /usr/lib/systemd/system/nginx.service
#创建.service自启动文件
[Unit]
Descriptionnginx
Afternetwork.target
[Service]
Typeforking
PIDFile/usr/local/nginx/logs/nginx.pid
ExecStart/usr/local/nginx/sbin/nginx
ExecReload/bin/kill -s HUP $MAINPID
ExecStop/bin/kill -s TERM $MAINPID
PrivateTmptrue
[Install]
WantedBymulti-user.targetsystemctl daemon-reload
systemctl start nginx
#启动nginx服务3配置反向代理的参数
cd /usr/local/nginx/conf/
vim nginx.confstream {upstream nginx_server {server 192.168.210.105:80;server 192.168.210.106:80;}server {listen 80;#如果已经有了80端口把另一个80端口改掉不能有两个80端口proxy_pass nginx_server;} }nginx -t
#检查语法格式
nginx -s reload
#刷新
ss -lntp | grep nginx
#过滤nginx端口号4关掉长连接
vim /usr/local/nginx/conf/nginx.conf
#为了保证实验的流畅性把长连接关掉其他两台nginx服务器也关掉
keepalive_timeout 0;
#keepalive_timeout 65;5浏览器测试负载均衡效果
#在浏览器访问
http://192.168.210.107/wyx/test.html
#每刷新一次就会出现不同的静态页面,实现了负载均衡http://192.168.210.107/wyx/test.jsp
#每刷新一次就会出现不同的静态页面实现了负载均衡