【问题标题】:NGINX Multiple servers same IPNGINX 多台服务器同一个 IP
【发布时间】:2015-03-08 00:41:31
【问题描述】:

我想如下配置我的服务器:

  • 只有 1 个具有 1 个 IP 的服务器,并且,
  • 只有 1 个域指向该 IP,比如说example.com
  • 在 nginx 上运行的两个不同的 web 应用程序(在同一端口 80 上),分别为 /site1/site2

是否可以配置sites-available/site1sites-available/site2配置文件在第一种情况下通过http://example.com/site1和在第二种情况下http://example.com/site2访问它们??

谢谢!!

【问题讨论】:

  • 这个问题似乎是题外话,因为它是针对webmasters
  • 共享主机使用您描述的方法在单个服务器上运行数百个(如果不是数千个)站点。如果您不确定如何手动配置,请尝试使用众多可用的网络托管控制面板之一

标签: nginx server virtual-hosts


【解决方案1】:

您可以将它们分成 2 个文件,但这会有点棘手,因为您基本上是在创建一个网站但配置两个位置,例如这里是一个骨架

server {
  # listen 80 is default
  location /site1 {
    # do stuff
  }
  location /site2 {
    # do different stuff
  }
}

要分开,您需要在服务器范围内包含两个位置,而不是 http 范围(默认情况下发生)

为此,您需要为 example 创建一个名为 /etc/nginx/site-includes 的文件夹,并在其中添加 site1site2,然后在您的网站中,即 /etc/nginx/sites-available you' d 像这样包含它们

server {
  # listen 80 is default
  include /etc/nginx/site-includes/site1;
  include /etc/nginx/site-includes/site2;
}

每个文件都将包含一个location sn-p

location /site1 {
  # do stuff
}

您可以使用通配符删除依赖项(文件名)

server {
  # listen 80 is default
  include /etc/nginx/site-includes/my-site/*;
}

然后在/etc/nginx/site-includes/my-site/ 目录中添加尽可能多的文件。

/etc/nginx/nginx.conf内部已经使用了类似的方法

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

【讨论】:

    猜你喜欢
    • 2018-07-19
    • 2019-10-29
    • 2018-07-09
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 2021-11-17
    • 1970-01-01
    相关资源
    最近更新 更多