Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Nginx配置反向代理

Nginx配置反向代理

作者头像
全栈程序员站长
发布于 2022-09-14 09:16:54
发布于 2022-09-14 09:16:54
54700
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

更多Nginx教程可以点击下面的链接查看哦

https://www.itqiankun.com/article/1564904492

什么是反向代理

反向代理服务器决定哪台服务器提供服务。返回代理服务器不提供服务器。只是请求的转发。 正向代理如下

反向代理如下

Nginx实现反向代理的过程
首先安装两个tomcat服务器,都放到nginx服务器里面,两个端口分别是8081和8082

首先是下载tomcat,使用下面的命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.94/bin/apache-tomcat-7.0.94.tar.gz

然后是加载这个压缩包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar -xvf apache-tomcat-7.0.94.tar.gz

然后把apache-tomcat-7.0.94复制成两份,一份是tomcat8081,一份是tomcat8082,过程如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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,注意主要要修改三个端口号

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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,注意主要要修改三个端口号

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!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,启动如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159108.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年7月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
玩转企业集群运维管理系列(四):Nginx 七层与四层反向代理详解
综上,本质上代理服务器还是那个代理服务器,如果替客户端干活就是正向代理,如果替服务端干活就是反向代理。更多关于企业集群运维管理系列的学习文章,请参阅:玩转企业集群运维管理专栏,本系列持续更新中。
民工哥
2023/12/05
5310
玩转企业集群运维管理系列(四):Nginx 七层与四层反向代理详解
Docker下Nginx+Tomcat实现负载均衡
本文介绍在Docker上配置负载均衡,启动一个nginx容器,三个tomcat容器。
菲宇
2019/06/12
1.6K0
Docker下Nginx+Tomcat实现负载均衡
Nginx反向代理实现Tomcat负载均衡
这篇短文主要介绍Tomcat的集群和用Nginx反向代理实现Tomcat负载均衡。
河岸飞流
2019/08/09
4680
Nginx反向代理配置实例
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说Nginx反向代理配置实例,希望能够帮助大家进步!!!
Java架构师必看
2022/01/11
3220
Nginx反向代理配置实例
Haproxy+web实现负载均衡实战
从上述结果可知,前端对1080端口的请求,被Haproxy的负载均衡器,均衡请求到后端8081、8082端口。
菲宇
2019/06/12
9390
Haproxy+web实现负载均衡实战
day77_淘淘商城项目_10_ Nginx代理详解 + 单点登录系统工程搭建 + 接口文档讲解_匠心笔记
目前访问后台系统:   http://localhost:8081/ 目前访问首页系统:   http://localhost:8082/ 目前访问搜索结果页面:   http://localhost:8085/ 在搜索结果页面search.jsp中,代码中写死了其他的系统的全路路径。如下:
黑泽君
2018/12/21
1.3K0
Nginx80端口转发+域名—实现IP+端口隐藏
1.打开conf下nginx.conf 在最后一个 } 前插入 include proxy.conf; 2.新建文件 proxy.conf ,进行如下配置
小诸葛
2020/04/14
6.6K0
Nginx系列(三):nginx配置域名转发、反向代理、负载均衡
当表达式只是一个变量时,如果值为空或任何以0开头的字符串都会当做false直接比较变量和内容时,使用=或!=~正则表达式匹配,~*不区分大小写的匹配,!~区分大小写的不匹配 2. 全局环境变量
鳄鱼儿
2024/05/21
14.8K0
windows下nginx+tomcat集群,实现session复制共享
两台不同服务器  ip1、ip2。ip1安装tomcat1,端口8005,8081,8009、nginx,提供nginx外网端口80,ip2安装tomcat2,端口8006,8082,8010。
有一只柴犬
2024/01/25
2280
Nginx(四)------nginx 负载均衡
  在上一篇博客我们介绍了 Nginx 一个很重要的功能——代理,包括正向代理和反向代理。这两个代理的核心区别是:正向代理代理的是客户端,而反向代理代理的是服务器。其中我们又重点介绍了反向代理,以及如何通过 Nginx 来实现反向代理。那么了解了Nginx的反向代理之后,我们要通过Nginx的反向代理实现另一个重要功能——负载均衡。
IT可乐
2018/09/28
8080
Nginx(四)------nginx 负载均衡
002.Nginx反向代理案例以及tomcat-redis-session-manager的使用
1. 准备web应用 index.jsp页面直接转发到HelloServlet <%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" %> <jsp:forward page="HelloServlet"></jsp:forward> HelloServlet向页面打印服务端口号 public class HelloServlet extends
CoderJed
2020/04/09
6520
Nginx负载均衡的原理与配置
Nginx服务器作为前端,Tomcat服务器作为后端,web页面请求由Nginx服务来进行转发。
用户1685462
2021/07/30
3570
单点登录集群搭建教程
在开发中的开源项目JeePlatform:https://github.com/u014427391/jeeplatform 欢迎start(s收藏),打算集成单点登录到自己的开源项目里,所以先搭建环境
SmileNicky
2019/01/17
6300
java web的动静分离_Nginx+Tomcat动静分离架构
Nginx+tomcat是目前主流的java web架构,Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat、Resin出来动态页面。
全栈程序员站长
2022/08/31
1.1K0
09 . Nginx配置LNMP和LNMT架构
https://www.cnblogs.com/you-men/p/13045736.html
iginkgo18
2020/09/27
7420
09 . Nginx配置LNMP和LNMT架构
Nginx系列(4) —— 反向代理的配置
与反向代理所对应的是正向代理。正向代理中最为常见的例子就是vpn。当我们使用vpn访问其他网页时,我们的ip地址并不会暴露给我们直接连接的网站,而是vpn的代理ip。反向代理与正向代理的差异其实就是,当我们想要访问一个网站时,被访问的服务器的ip不会直接暴露在我们面前,而是反向代理服务器的ip地址。
求和小熊猫
2020/11/25
1.6K0
Nginx系列教程(二)| 一文带你读懂Nginx的正向与反向代理
正向代理:你可以这样理解,就是把局域网以外的 Internet 想象成一个外网世界,那么当我们局域网中的客户端设备要访问局域网以外的 Internet 时,需在客户端浏览器中配置代理服务器,然后通过代理服务器来进行访问,将访问到的局域网以外的 Internet 网站内容返回给客户端,而不是通过局域网中的客户端设备直接访问到局域网以外的 Internet 网站中,这种代理服务称之为:正向代理。
杰哥的IT之旅
2020/06/18
1.2K0
Nginx系列教程(二)| 一文带你读懂Nginx的正向与反向代理
PHP使用Nginx实现反向代理
一、代理服务器 1、什么是代理服务器 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。
用户2323866
2021/07/07
1.8K0
使用Redis存储Nginx+Tomcat负载均衡集群的Session
环境:Cent OS 7.0(虚拟机环境)、Nginx 1.9.8、Redis 3.2.1
Java后端技术
2018/08/09
4560
使用Redis存储Nginx+Tomcat负载均衡集群的Session
Nginx总结(五)如何配置Nginx和Tomcat实现反向代理
前面讲了如何配置Nginx虚拟主机,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html
架构师精进
2020/03/04
1.3K0
推荐阅读
相关推荐
玩转企业集群运维管理系列(四):Nginx 七层与四层反向代理详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验