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 #启动

成功:

相关推荐

  1. Nginx 负载均衡配置

    2024-05-01 06:22:02       36 阅读
  2. nginx负载均衡配置

    2024-05-01 06:22:02       39 阅读
  3. Nginx配置负载均衡

    2024-05-01 06:22:02       31 阅读
  4. Nginx实现负载均衡

    2024-05-01 06:22:02       61 阅读
  5. nginx配置端口转发

    2024-05-01 06:22:02       67 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-01 06:22:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-01 06:22:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-01 06:22:02       82 阅读
  4. Python语言-面向对象

    2024-05-01 06:22:02       91 阅读

热门阅读

  1. centos学习-精通ls-Linux目录管理的关键命令

    2024-05-01 06:22:02       31 阅读
  2. web server apache tomcat11-30-The Tomcat JDBC Connection Pool

    2024-05-01 06:22:02       30 阅读
  3. Jupyter 容器环境: Debian 11离线部署SSH Server总结

    2024-05-01 06:22:02       27 阅读
  4. [学习笔记] Android综合_2024-4-30

    2024-05-01 06:22:02       33 阅读
  5. 技术解答 | ESP32 S2有虚拟U盘相关的例程吗?

    2024-05-01 06:22:02       30 阅读
  6. 【无标题】

    2024-05-01 06:22:02       29 阅读
  7. 项目是如何实现多租户架构

    2024-05-01 06:22:02       29 阅读
  8. 2、FreeCAD模块与核心架构总结

    2024-05-01 06:22:02       33 阅读
  9. 项目总结(一)docker总结

    2024-05-01 06:22:02       28 阅读