Nginx+Tomcat的动静分离

首先准备好5台机子:2台装有tomcat,3台装有nginx

1.关闭5台机子的防火墙

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

Nginx1

vim /usr/local/nginx/conf/nginx.conf

#在--#pid-- 下做四层代理
stream {
  upstream test {
    server 192.168.220.122:8080;
    server 192.168.220.123:8080;
  }

  server {
    listen 80;
    proxy_pass test;
  }
}

#修改http模块中server的端口号为81,避免重复
    listen       81;

检查并重启服务
nginx -t
systemctl restart nginx
netstat -antp | grep nginx

2、3为静态页面,又做为7层代理 转发动态请求

Nginx2

vim /usr/local/nginx/conf/nginx.conf

#在http模块中添加7层代理;加权轮询
upstream ky30 {
    server 192.168.220.111:8080 weight=1;
    server 192.168.220.112:8080 weight=1;
}

#修改http模块中的连接保持超时时间为0
keepalive_timeout  0;

#修改server端口号为8080
listen       8080;

#在server模块中添加
location ~ .*\.jsp$ {
    proxy_pass http://ky30;
    proxy_set_header HOST $host;
    #将真实的请求IP地址传给后端服务器
    proxy_set_header X-Real-IP $remote_addr;
    #记录代理服务器的地址
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#设置访问静态页面
location ~ .*\.(gif|jpg|png)$ {
    root html;
    index index.html index.htm;
}


重启nginx服务
systemctl restart nginx

Nginx3进行与2相同的操作

vim /usr/local/nginx/conf/nginx.conf

#在http模块中添加7层代理;加权轮询
upstream ky30 {
    server 192.168.220.111:8080 weight=1;
    server 192.168.220.112:8080 weight=1;
}

#修改http模块中的连接保持超时时间为0
keepalive_timeout  0;

#修改server端口号为8080
listen       8080;

#在server模块中添加
location ~ .*\.jsp$ {
    proxy_pass http://ky30;
    proxy_set_header HOST $host;
    #将真实的请求IP地址传给后端服务器
    proxy_set_header X-Real-IP $remote_addr;
    #记录代理服务器的地址
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#设置访问静态页面
location ~ .*\.(gif|jpg|png)$ {
    root html;
    index index.html index.htm;
}


重启nginx服务
systemctl restart nginx

Tomcat1

cd /usr/local/tomcat/webapps/
mkdir test
vim test/index.jsp

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


JSP Tomcat1 page


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


修改主配置文件
cd /usr/local/tomcat/conf/
修改前先备份文件
cp server.xml server.xml.20230812.bak
vim server.xml

删除原有的标签,再添加下面内容

        
重启tomcat
/usr/local/tomcat/bin/shutdown.sh

/usr/local/tomcat/bin/startup.sh
打开浏览器访问
访问配置tomcat1的IP地址
192.168.220.111:8080/index.jsp

Tomcat2进行与1相同的操作,显示的内容需要进行修改

cd /usr/local/tomcat/webapps/
mkdir test
vim test/index.jsp

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


JSP Tomcat2 page


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


修改主配置文件
cd /usr/local/tomcat/conf/
修改前先备份文件
cp server.xml server.xml.20230812.bak
vim server.xml

删除原有的标签,再添加下面内容

        
重启tomcat
/usr/local/tomcat/bin/shutdown.sh

/usr/local/tomcat/bin/startup.sh
打开浏览器访问
访问配置tomcat2的IP地址
192.168.220.112:8080/index.jsp

nginx2

cd /usr/local/nginx/html/
vim index.html

清空原有内容,添加下面内容


Nginx test1 page


this is Nginx static test1 !

在html目录下添加图片1.jpg

nginx3

cd /usr/local/nginx/html/
vim index.html

清空原有内容,添加下面内容


Nginx test2 page


this is Nginx static test2 !

在html目录下添加图片2.jpg

通过浏览器访问代理服务器

访问nginx1的IP地址
访问静态页面
192.168.220.122:8080/index.html
192.168.220.123:8080/index.html

访问动态页面
    前端
192.168.220.121
    后端
192.168.220.121/index.jsp
刷新页面即可实现动态访问

ps:如果图片加载不出来,并且无法跳转页面的话,可以右击被 "压缩的图片" 点击 "加载图片" ,然后再刷新就好了

你可能感兴趣的:(nginx,服务器,linux)