Hello! 欢迎来到小浪云!


nginx监听同一个端口转发不同应用


avatar
小浪云 2024-12-17 11

nginx 可配置为监听同一端口并根据请求将流量转发到不同的应用:创建虚拟主机配置,指定端口和服务器名称。在 location 块中使用 proxy_pass 指令设置转发目标。启动不同应用程序并确保其正在监听传入连接。测试配置,导航到不同的服务器名称以验证流量转发。

nginx监听同一个端口转发不同应用

nginx 配置监听同一端口转发不同应用

Nginx 是一款强大的 Web 服务器和反向代理,它可以配置为监听同一端口并根据请求将流量转发到不同的应用。

实现步骤:

  1. 创建虚拟主机配置:

    • 打开 nginx.conf 文件。
    • 添加以下虚拟主机配置:
    server {     listen 80;     server_name example.com;     location / {         proxy_pass http://127.0.0.1:8080;     } }  server {     listen 80;     server_name www.example.com;     location / {         proxy_pass http://127.0.0.1:8081;     } }
    • 在此示例中,Nginx 将监听端口 80,并根据服务器名称将请求转发到端口 8080 或 8081 上的不同应用。
  2. 设置反向代理:

    • 确保已安装且正在运行 Nginx。
    • 在 location 块中,使用 proxy_pass 指令指定转发目标。
    • 您还可以添加其他代理设置,例如缓存和负载平衡。
  3. 设置应用程序:

    • 在端口 8080 和 8081 上启动不同的应用程序。
    • 确保应用程序正在监听传入连接。
  4. 测试配置:

    • 导航到 http://example.com,它应该将您重定向到运行在端口 8080 上的应用程序。
    • 导航到 http://www.example.com,它应该将您重定向到运行在端口 8081 上的应用程序。

优点:

  • 集中管理:通过 Nginx 配置,您可以在单个配置文件中管理所有应用程序的转发规则。
  • 扩展性:您可以轻松添加或删除应用程序,无需重新配置 Web 服务器。
  • 负载平衡:通过在 Nginx 中设置负载平衡选项,您可以将流量分布到多个应用程序实例。

相关阅读