2013-05-06 130 views
2

我正试着用nginx开始。但我真的不明白这个代码出了什么问题。Nginx和子域名

正如你可以看到有两个域名:

  1. mauromarano.it
  2. dev.mauromarano.it

第一个域承载一个WordPress博客。

##################### 
# mauromarano.it/ # 
#################### 

server { 
    listen 80; 
# listen [::]:80 default_server; 

    root /usr/share/nginx/mauromarano.it/public_html; 
    index index.html index.htm index.php; 

    # Make site accessible from http://localhost/ 
    server_name mauromarano.it www.mauromarano.it; 

    access_log /usr/share/nginx/mauromarano.it/logs/access.log; 
    error_log /usr/share/nginx/mauromarano.it/logs/error.log; 

    location/{ 
     # First attempt to serve request as file, then 
     # as directory, then fall back to displaying a 404. 
     try_files $uri $uri/ /index.html; 
     # Uncomment to enable naxsi on this location 
     # include /etc/nginx/naxsi.rules 
    } 

    location /blog { 
      try_files $uri $uri/ /blog/index.php?$args; 
    } 

    location /doc/ { 
     alias /usr/share/doc/; 
     autoindex on; 
     allow 127.0.0.1; 
     allow ::1; 
     deny all; 
    } 

    location ~ .php$ { 
     fastcgi_pass 127.0.0.1:9000; 
     fastcgi_split_path_info ^(/blog)(/.*)$; 
     fastcgi_param SCRIPT_FILENAME /usr/share/nginx/mauromarano.it/public_html$fastcgi_script_name; 
     fastcgi_index index.php; 
     include fastcgi_params; 
    } 

} 



##################### 
# mauromarano.com # 
#################### 

server { 
    listen 80; 
# listen [::]:80 default_server; 

    root /usr/share/nginx/mauromarano.com/public_html; 
    index index.html index.htm index.php; 

    # Make site accessible from http://localhost/ 
    server_name mauromarano.com www.mauromarano.com; 

    access_log /usr/share/nginx/mauromarano.com/logs/access.log; 
    error_log /usr/share/nginx/mauromarano.com/logs/error.log; 

    location/{ 
     # First attempt to serve request as file, then 
     # as directory, then fall back to displaying a 404. 
     try_files $uri $uri/ /index.html; 
     # Uncomment to enable naxsi on this location 
     # include /etc/nginx/naxsi.rules 
    } 

    location /doc/ { 
     alias /usr/share/doc/; 
     autoindex on; 
     allow 127.0.0.1; 
     allow ::1; 
     deny all; 
    } 

    location ~ .php$ { 
     fastcgi_pass 127.0.0.1:9000; 

     fastcgi_param SCRIPT_FILENAME /usr/share/nginx/mauromarano.com/public_html$fastcgi_script_name; 
     fastcgi_index index.php; 
     include fastcgi_params; 
    } 

} 

##################### 
# dev.mauromarano.it/ # 
#################### 

server { 
    listen 80; 
# listen [::]:80 default_server; 

    root /usr/share/nginx/dev.mauromarano.it/public_html; 
    index index.html index.htm index.php; 

    # Make site accessible from http://localhost/ 
    server_name dev.mauromarano.it www.dev.mauromarano.it; 

    access_log /usr/share/nginx/dev.mauromarano.it/logs/access.log; 
    error_log /usr/share/nginx/dev.mauromarano.it/logs/error.log; 

    location/{ 
     # First attempt to serve request as file, then 
     # as directory, then fall back to displaying a 404. 
     try_files $uri $uri/ /index.html; 
     # Uncomment to enable naxsi on this location 
     # include /etc/nginx/naxsi.rules 
    } 


    location /doc/ { 
     alias /usr/share/doc/; 
     autoindex on; 
     allow 127.0.0.1; 
     allow ::1; 
     deny all; 
    } 

    location ~ .php$ { 
     fastcgi_pass 127.0.0.1:9000; 
     fastcgi_split_path_info ^(/blog)(/.*)$; 
     fastcgi_param SCRIPT_FILENAME /usr/share/nginx/dev.mauromarano.it/public_html$fastcgi_script_name; 
     fastcgi_index index.php; 
     include fastcgi_params; 
    } 

} 

我在哪里错了?

我的目标是让这两个域名工作。但通过这种方式,子域(dev.mauromarano.it)不起作用。

+0

你有什么问题?什么不工作?你的目标是什么? – kevingessner 2013-05-06 19:11:03

+0

我的目标是让这两个域名工作。但通过这种方式,子域(dev.mauromarano.it)不起作用。 – gaggina 2013-05-06 19:19:56

回答

1

以下子句不需要server块:

listen 80; 
listen [::]:80 default_server; 

这应该解决的子域的问题。除此之外,你错过了wordpress的重写规则。他们应该如下:

location/{ 
    try_files $uri $uri/ @wordpress; 
} 
location @wordpress { 
    rewrite ^/(.*)$ /index.php?/$1 last; 
} 

希望这将清除您的问题。有关更多信息将意味着更尖锐的解决方案,但是,请随时留下您仍然存在的任何错误。