Nginx实现端口转发与负载均衡配置

前言:当我们的软件体系结构较为庞大的时候,访问量往往是巨大的,所以我们这里可以使用nginx的均衡负载

一、配置nginx实现端口转发

本地tomcat服务端口为8082

本地nginx端口为8080

目的:将nginx的8080转发到tomcat的8082端口上进行访问

1、首先更改nginx.conf配置文件

 server {
        listen       8080;#8080为nginx端口
        server_name  localhost;
 
location /p/ {
            proxy_pass   http://localhost:8082/;#8082为tomcat端口
           #   proxy_pass   http://xx/;
       }
}
#将url中/p/路径的url转发到tomcat的8082端口上

测试,在nginx的html文件下新建一个1.html

1.html

<html>
<script>
function myload(){
	var path="/p/pic/p1.jpg?i="+Math.random();
	myimg.src=path;
}
</script>
<body onload="myload()">
<img id="myimg" src="">

</body>
</html>

访问nginx:localhost:8080/1.html

二、配置负载均衡

1、首先启动两个tomcat或nginx

我这里启动两个tomcat,先更改tomcat端口号。

我这里tomcat端口分别为:8082、8083

更改配置文件如下:conf\server.xml

   <Connector port="8082" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <!-- A "Connector" using the shared thread pool-->
    <!--
    <Connector executor="tomcatThreadPool"
               port="8082" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    -->
<Server port="8005" shutdown="SHUTDOWN">

注:<Server port="8005" shutdown="SHUTDOWN">这个也要改,不能跟另外一个tomcat的shutdown这个端口冲突。

分别在两个tomcat的webapp\pic目录命名同名的一张图片p1.jpg,但图片内容不同

2、更改nginx.conf配置文件

http{
    include       mime.types;
    default_type  application/octet-stream;
   sendfile        on;
#负载均衡配置
upstream xx {
       server 127.0.0.1:8082;
       server 127.0.0.1:8083;
    } 
server {
        listen       8080;#8080为nginx端口
        server_name  localhost;
 
location /p/ {
            #proxy_pass   http://localhost:8082/;#8082为tomcat端口
              proxy_pass   http://xx/;
       }
}
}
#将url中/p/路径的url转发到tomcat的8082或8083端口上

重启nginx:

nginx -s quit #关闭
nginx -s stop #强制关闭
start nginx #启动

成功:

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Nginx是一款高性能、轻量级的Web服务器,它可以作为反向代理服务器负载均衡器。下面是Nginx实现反向代理和负载均衡的详细过程: 1. 反向代理 反向代理是指客户端请求的资源不是直接由服务器提供,而是由代理服务器转发请求到后端服务器获取资源并返回给客户端。反向代理可以隐藏后端服务器的真实IP地址,提高了系统的安全性。 Nginx实现反向代理的步骤如下: 1) 在Nginx配置文件中配置反向代理服务器的IP地址和端口号。 2) 配置反向代理的location块,将客户端请求的URL转发到后端服务器。 3) 配置后端服务器的IP地址和端口号。 2. 负载均衡 负载均衡是指将客户端请求均匀地分发到多个后端服务器上,以达到提高系统响应速度和增加系统的可靠性的目的。Nginx实现负载均衡的方式有多种,其中常用的有轮询方式和IP hash方式。 轮询方式是指将客户端请求轮流分配到后端的每台服务器上,每次请求都按照服务器列表的顺序依次分配。轮询方式是Nginx默认的负载均衡方式。 IP hash方式是指根据客户端的IP地址计算出一个hash值,然后将该请求分配到hash值对应的后端服务器上,这样相同IP地址的请求总是被分配到同一台后端服务器上。 Nginx实现负载均衡的步骤如下: 1) 在Nginx配置文件中配置后端服务器的IP地址和端口号。 2) 配置upstream块,将多个后端服务器配置在upstream块中。 3) 配置负载均衡的方式,例如轮询方式或IP hash方式。 总体来说,Nginx作为反向代理和负载均衡器,可以提高系统的性能和可靠性,是企业级应用中非常常用的技术之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值