ubuntu - Nginx如何将不同的站点托管到同一个域但在不同的端口上

标签 ubuntu nginx

我在 ubuntu 服务器上有两个 laravel A 和 B 项目。我的 IP:80 打开了一个站点。我希望站点 B 也可以在 IP:{port} 上打开。是否可以使用 Nginx?
到目前为止,我尝试的是在可用的站点中创建另一个配置文件:

server {
  listen 777;
  root /var/www/B/public;
  ..
}
但它没有打开站点 B。有什么建议吗?

最佳答案

多个端口可以监听同一个server堵塞。考虑使用 [::]: 在 IP6 上监听

server {
  listen      80;
  listen [::]:80;
  listen      777;
  listen [::]:777;

  server_name a.example.com
              b.example.com;
  ...
}
或者如果使用不同的根,则使用 2 个服务器 block 。 include 指令可以包含两个 block 的通用配置:
server {
  listen      80;
  listen [::]:80;

  server_name   a.example.com;
  root /var/www/a.example.com;
  include conf.d/includes/common.conf;
}

server {
  listen      777;
  listen [::]:777;

  server_name   b.example.com;
  root /var/www/b.example.com;
  include conf.d/includes/common.conf;
}
使用 curl 进行测试以避免浏览器缓存:
$ curl -I http://example.com:80/
$ curl -I http://example.com:777/

关于ubuntu - Nginx如何将不同的站点托管到同一个域但在不同的端口上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70397329/

相关文章:

regex - 仅匹配管理子文件夹时的 Nginx HTTPS

Ubuntu Nginx 新的 ssl 证书不起作用?

ubuntu - 如何使用自动工具构建静态和共享库?

php - 在 Ubuntu 16.04 上安装损坏的 php 和 libssl1.1

ruby-on-rails - 在 Ubuntu/Monit 中将 Mailman 脚本作为服务运行

php - php7.0-fpm.sock 位于何处

django - 无法重启nginx

eclipse - Ubuntu 上 Eclipse 中的巨大选项卡

ubuntu - 将来自主机网络的静态/DHCP IP 分配给由 Terraform 提供的 KVM VM

node.js - Node.js (express) 上的 Alexa Skill Server 使用 nginx 作为反向代理 (https)