无法在 Ubuntu 13.10 上配置 Nginx 以使用子域名和主域名

无法在 Ubuntu 13.10 上配置 Nginx 以使用子域名和主域名

我是 Nginx 新手,两天前从 Apache 转换过来的。

使用 Apache,我的网站有 1 个主 URL(www.example.com 和 example.com)和 2 个子域名(s1.example.com 和 s2.example.com)。

我成功配置了 Nginx 与 PHP 一起工作,但是有一个主要问题:

在配置文件中,我设置了一个服务器块

server_name example.com www.example.com

在它下面的另一个服务器块中,我设置了(使用不同的根)

server_name s1.example.com s2.example.com

另外,我已将 /etc/hosts 文件中的 example.com、www.example.com、s1.example.com 和 s2.example.com 全部指向本地主机 IP(并且 www、s1 和 s2 的域 CNAME 都设置为 example.com)。

问题是我访问的每个 URL 都给出与 example.com 相同的结果。所有提到的 URL 都给出相同的页面(example.com 中的 index.html)。

我的配置文件有问题吗?

答案1

不确定您如何设置虚拟主机,因为您应该提供更多的配置文件。

然而这样的事情应该有效:

server {
   listen  80;
   index   index.html index.htm;
}

server {
   server_name example.com www.example.com;
   root /var/www/domain1;
}

server {
   server_name s1.example.com s2.example.com;
   root /var/www/domain2;
}

相关内容