两个具有不同根文件夹的Nginx子域名,但两者都相同?

我试图找出为什么我刚刚在Nginx中创build的子域没有使用它的configuration文件中指定的根文件夹。 以下是子域zeta的configuration文件。

server { listen 80; root /var/www/zeta; server_name zeto.mydomain.com; error_log /var/log/nginx/subdomains_error.log; error_page 404 /404.html; if ($subdomain = ""){ set $subdomain something; rewrite /.* /not_found; } location / { index index.php index.html index.htm; access_log /var/log/nginx/subdomains_access.log; location / { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/index.php; access_log /var/log/nginx/subdomains_php_access.log; } location /public { } location ~ \.(js|ico|gif|jpg|png|css)$ { } location /not_found { } location /404.html { internal; } } } 

我有另一个域文件设置为与通配符子域和不同的根文件夹下面看到这是唯一的区别

 root /var/www/account; server_name *.mydomain.com; 

/etc/nginx有一个名为子域名的文本文件。 perl文件读取子域列表,如果存在,则加载页面,否则显示错误。 我知道我的通配符子域文件正在拾取zeta,因为它在子域文本文件中。 它的设置是这样的,因为服务器是一个应用程序,当访问者注册时,我们将他们select的子域添加到文件中,并重新加载Nginx,而不会影响已经在网站上的用户。

我可以对zeta文件做什么修改,以便将/var/www/zeta用作根文件夹,而不是通配符configuration文件中的根文件夹?

谢谢

如果这是你的nginxconfiguration的复制粘贴,你的问题是这里的一个错字:

 server_name zeto.mydomain.com; 

…应该大概读zeta