nginx监听相同端口通过域名分发到不同的服务器
发布日期:2021-10-08 19:27:28 浏览次数:2 分类:技术文章

本文共 1900 字,大约阅读时间需要 6 分钟。

前言


前段时间给朋友开发网站, 上线几个月后想要接入支付宝在线支付. 支付宝接口申请需要给一个已经上线的网站. 由于一些原因, 朋友的网站没有申请通过, 现需用B2C网站做申请之用. 但是已上线的站点不能停用, 本着节约成本的原则, 我拒绝了他再去租用一台云服务器. 之前接触过一点点nginx, 便想通过nginx实现同一台云服务器/相同端口(80)通过域名做请求转发.

准备工作


  1. 准备, 
  2. 准备, 并下载相应客户端版本, 用于模拟两个域名
  3. 准备两个服务器(当前环境:Tomcat7.0.59 & php7+apache2.4), 也可以使用两个tomcat服务器

配置内网穿透


在sunny ngrok申请两个账号, 同时映射到 localhost:8081

第一个账号配置
第二个账号配置 
并在本地启用内网穿透: 
开启本地映射

配置nginx


hyong.free.ngrok.cchyong2.free.ngrok.cc监听端口同时映射到8081(与SunnyNgrok配置一致即可)

worker_processes  1;events {    worker_connections  1024;}http {    include             mime.types;    default_type        application/octet-stream;    sendfile            on;    keepalive_timeout   65;    #gzip  on;    # 配置第一个代理规则    # 域名: hyong.free.ngrok.cc    # 监听端口: 8081    server {        listen              8081;        server_name         hyong.free.ngrok.cc;        location / {            root            I:/php/httpd-2.4.26-Win64-VC15/Apache24/htdocs;            index           index.php index.html;            proxy_pass      http://127.0.0.1:8080;        }    }    # 配置第二个代理规则    # 域名: hyong2.free.ngrok.css    # 监听端口: 8081, 端口与第一个规则相同    server {        listen              8081;        server_name         hyong2.free.ngrok.cc;        location / {            root            I:\java-working\server\apache-tomcat-7.0.59;            index           index.jsp index.html;            proxy_pass      http://127.0.0.1:9000;        }    }}

接下来启动: 

启动nginx 
nginx for windows相关命令 
cmd> cd nginx_home:

命令 说明
start nginx 后台启用nginx, 前台启动(cmd>nginx.exe)
nginx -s stop 快速停止
nginx -s quit 安全停止
nginx -s reload 改变配置,开始新的工作进程与新配置,优雅的关闭旧的工作进程
nginx -s reopen 重启, 重启日志文件

校验nginx启动是否成功: tasklist /fi "imagename eq nginx.exe" 

校验nginx是否启动

启动服务器


视情况而定, 当前启动 Tomcat&Apache

测试验证


访问  

这里打个小广告

访问  

第二套环境

漂亮: 测试通过!!!

总结


  1. nginx并未使用在真实项目中, 因此对nginx并未深入研究
  2. 除了负载均衡(个人觉得应该叫并发瓶颈转移), 还可以做请求转发
  3. 经过本次测试, 发现nginx还具有端口路由的功能. 此后做web开发时, 就可以同时对外提供多个相同端口的不同服务了 ^ - ^

iis 服务器自带这个功能:    https://blog.csdn.net/u014410695/article/details/50589851

转载地址:https://blog.csdn.net/p358278505/article/details/80522360 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:我曾经七次鄙视自己的灵魂【卡里·纪伯伦】
下一篇:Java关于日期时间的工具类

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月05日 08时52分31秒