大家好,又见面了,我是你们的朋友全栈君。
更多Nginx教程
可以点击下面的链接查看哦
什么是反向代理
反向代理服务器决定哪台服务器提供服务。返回代理服务器不提供服务器。只是请求的转发。
正向代理如下
反向代理如下
Nginx实现反向代理的过程
首先安装两个tomcat服务器,都放到nginx服务器里面,两个端口分别是8081和8082
首先是下载tomcat,使用下面的命令
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.94/bin/apache-tomcat-7.0.94.tar.gz
然后是加载这个压缩包
tar -xvf apache-tomcat-7.0.94.tar.gz
然后把apache-tomcat-7.0.94复制成两份,一份是tomcat8081,一份是tomcat8082,过程如下
cp -r apache-tomcat-7.0.94 tomcat8081
cp -r apache-tomcat-7.0.94 tomcat8082
然后通过Editplus远程连接修改tomcat8081里面的server.xml配置里面修改端口号,(怎么通过EditPlus连接linux,看着篇文章:https://blog.csdn.net/weixin_43689480/article/details/95867289,注意主要要修改三个端口号
<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
然后通过Editplus远程连接修改tomcat8082里面的server.xml配置里面修改端口号(怎么通过EditPlus连接linux,看着篇文章:https://blog.csdn.net/weixin_43689480/article/details/95867289,注意主要要修改三个端口号
<Server port="8007" shutdown="SHUTDOWN">
<Connector port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />
然后把tomact8081里面的webapps文件夹里面的ROOT文件夹里面的index.jsp变成下面这样,此时可以看到下面输入的内容是8081
<!DOCTYPE html>
<%@ page session="false" %>
<%
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy");
request.setAttribute("year", sdf.format(new java.util.Date()));
request.setAttribute("tomcat7Url", "http://tomcat.apache.org/");
request.setAttribute("tomcat7DocUrl", "/docs/");
request.setAttribute("tomcat7ExamplesUrl", "/examples/");
%>
<html lang="en">
<head>
<title><%=request.getServletContext().getServerInfo() %></title>
<link href="favicon.ico" rel="icon" type="image/x-icon" />
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link href="tomcat.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>tomcat8081index.jsp<h1>
</body>
</html>
然后把tomact8082里面的webapps文件夹里面的ROOT文件夹里面的index.jsp变成下面这样,此时可以看到下面输入的内容是8082
<!DOCTYPE html>
<%@ page session="false" %>
<%
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy");
request.setAttribute("year", sdf.format(new java.util.Date()));
request.setAttribute("tomcat7Url", "http://tomcat.apache.org/");
request.setAttribute("tomcat7DocUrl", "/docs/");
request.setAttribute("tomcat7ExamplesUrl", "/examples/");
%>
<html lang="en">
<head>
<title><%=request.getServletContext().getServerInfo() %></title>
<link href="favicon.ico" rel="icon" type="image/x-icon" />
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link href="tomcat.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>tomcat8082index.jsp<h1>
</body>
</html>
然后就是启动tomcat8081和tomcat8082,启动如下所示
/root/tomcat8081/bin/startup.sh
/root/tomcat8082/bin/startup.sh
然后访问http://47.91.248.236:8081/ 路径结果如下,成功了
然后访问http://47.91.248.236:8082/ 路径结果如下,成功了
然后我们配置本地电脑里面的host文件变成下面这样
这里我们借助ihost来操作
然后配置nginx服务器里面的conf文件夹里面的nginx.conf配置文件,配置完之后记得要重启nginx服务器
此时当访问www.sina.com 的时候,就会访问host文件,然后就会去找47.91.248.236 这个ip对应的linux服务器,然后www.sina.com 默认的端口就是80,所以访问www.sina.com 的时候,就会找到下面的upstream tomcat1,然后下面的upstream tomcat1就会去找server 47.91.248.236:8081,就会找到8081端口的tomcat服务器,然后因为upstream tomcat1的默认访问页是index.jsp,所以就会访问8081端口的tomcat服务器的index.jsp页面(也就是http://47.91.248.236:8081/index.jsp)
此时当访问www.huohu.com 的时候,就会访问host文件,然后就会去找47.91.248.236 这个ip对应的linux服务器,然后www.huohu.com 默认的端口就是80,所以访问www.huohu.com 的时候,就会找到下面的upstream tomcat2,然后下面的upstream tomcat2就会去找server 47.91.248.236:8082,就会找到8082端口的tomcat服务器,然后因为upstream tomcat2的默认访问页是index.jsp,所以就会访问8082端口的tomcat服务器的index.jsp页面(也就是http://47.91.248.236:8082/index.jsp)
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#配置www.sina.com:80对应的服务器监听端口
upstream tomcat1 {
server 47.91.248.236:8081;
}
server {
listen 80;
server_name www.sina.com;
location / {
proxy_pass http://tomcat1;
#配置默认访问页,这里就会访问到tomcat1里面的那个index.jsp文件里面
index index.jsp;
}
}
#配置www.houhu.com:80对应的服务器监听端口
upstream tomcat2 {
server 47.91.248.236:8082;
}
server {
listen 80;
server_name www.houhu.com;
location / {
proxy_pass http://tomcat2;
#配置默认访问页,这里就会访问到tomcat2里面的那个index.jsp文件里面
index index.jsp;
}
}
}
然后我们访问 www.sina.com
此时访问到的就是tomcat8081对应的tomcat服务器
然后我们访问 www.huohu.com
此时访问到的就是tomcat8082对应的tomcat服务器
到此nginx的反向代理就完成了
能看到这里的同学,觉得好的话就帮忙点个赞吧,Thanks♪(・ω・)ノ
大佬链接
https://www.itqiankun.com/article/1564904492
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159108.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...