tomcat与nginx的动静分离操作流程(其中有7层与4层反向代理的联动)

130 阅读2分钟

操作内容:

在7-0虚拟机中做三个tomcat实例,代表三台动态动态服务器,将7-2与7-1设置为静态服务器,另外7-1作为7层代理服务器,最后做7-3为四层带代理服务器来管理后面怎么多的服务器

image.png

具体操作流程:

1.tomcat做三台实例,先复制三台服务器

image.png

2.修改每个实例中的配置文件,先修改tomcat2中的配置文件,改3个位置的端口号

image.png

image.png

image.png

3.tomcat3中也是同理

image.png

image.png

image.png

4.修改每个tomcat的启动与关闭脚本配置

export CATALINA_BASE=/usr/local/tomcat1
export CATALINA_HOME=/usr/local/tomcat1
export TOMCAT_HOME=/usr/local/tomcat1

image.png

5.设置完成后把这三个多实例通过脚本启动

image.png

6.配置每个实例中的jsp动态页面

image.png

7.之后去浏览器中查看自己设置的网页是否可以访问

image.png

image.png

image.png

8.之后创建7-1nginx的静态服务页面,并配置反向代理服务设置

image.png

image.png

#配置负载均衡的服务器列表,weight参数表示权重,权重越高,被分配到的概率越大
	upstream tomcat_server {
		server 192.168.80.100:8080 weight=1;
		server 192.168.80.101:8080 weight=1;
		server 192.168.80.101:8081 weight=1;
	}


#配置Nginx处理动态页面请求,将 .jsp文件请求转发到Tomcat 服务器处理
		location ~ .*\.jsp$ {
			proxy_pass http://tomcat;
#设置后端的Web服务器可以获取远程客户端的真实IP
##设定后端的Web服务器接收到的请求访问的主机名(域名或IP、端口),默认HOST的值为proxy_pass指令设置的主机名。如果反向代理服务器不重写该请求头的话,那么后端真实服务器在处理时会认为所有的请求都来自反向代理服务器,如果后端有防攻击策略的话,那么机器就被封掉了。
			proxy_set_header HOST $host;
##把$remote_addr赋值给X-Real-IP,来获取源IP
			proxy_set_header X-Real-IP $remote_addr;
##在nginx 作为代理服务器时,设置的IP列表,会把经过的机器ip,代理机器ip都记录下来
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

image.png

9.去浏览器测试服务,使用代理服务器的ip地址加url去查看tomcat服务器代理是否建立成功

image.png

image.png

10.7层代理没问题后开始制作4层代理先设置7-2的nginx静态服务器

image.png

配置方面与7-1的反向代理一致

image.png

11.然后去浏览器中查询是否可以使用

image.png

image.png

12.最后去7-3上面配置4层代理将这些服务器串联起来

stream {
    upstream nginx_server {
      server 192.168.223.101:80;
      server 192.168.223.102:80;
}
    server {
      listen   80;
      proxy_pass nginx_server;
#访问这台ip地址时,会自动跳转到nginx_server下的服务器去处理
}
}

image.png

13.把nginx服务器主配置文件的链接保持关闭

image.png

14.之后进入到浏览器中测试

image.png

image.png