Subdomínio Nginx redireciona para o domínio, o que há de errado?

2

Eu tenho um servidor com domínios serveral sob Nginx rodando bem (blogs WordPress). Agora eu quero configurar um servidor phplist e localizá-lo em um subdomínio, mas embora eu tenha configurado o subdomínio sem problemas, toda vez que eu tento carregar o subdomínio, a solicitação vai direto para um dos meus domínios.

Este é o arquivo de configuração do Nginx para o meu domínio (eu substituí o nome do domínio):

server  {
    listen  80;
    server_name  mydomain.com  www.mydomain.com;
#    error_log /var/www/mydomain/mydomain_error.log;                                                                
    root  /var/www/mydomain/;

    location ~* ^.+.(bz2|jpe?g|gif|gz|png|ico|css|zip|rar|doc|xls|exe|pdf|ppt|txt|tar|tgz|mid|midi|mp3|wav|bmp|rtf\
|js|swf|avi|m2t|mkv)$ {
        access_log  off;
        expires  30d;
        root  /var/www/mydomain/;
    }

              location / {
                 index index.php;
                 client_max_body_size 3M;
                 try_files $uri $uri/ /index.php?q=$uri&$args;
                 # if the requested file exists, return it immediately                                              
                 if (-f $request_filename) {
                    break;
                 }

                 #if ($http_user_agent !~ FeedBurner) {                                                             
                   # rewrite ^/comment/feed/ http://feeds.feedburner.com/your-comment-feed last;                    
                  # rewrite ^/feed/ http://feeds.feedburner.com/Muypymes last;                                      
                  # }                                                                                               
                if ($http_user_agent !~ "^MediafedMetrics.*") {
                        rewrite ^/feed/?$ http://feeds.feedburner.com/Muypymes last;
              }


                        # all other requests go to WordPress                                                        
                                if (!-e $request_filename) {
                                rewrite . /index.php last;
                                }
              }

              ## Parse all .php file in the /var/www directory                                                      
              location ~ .php$ {
                 fastcgi_split_path_info ^(.+\.php)(.*)$;
                 fastcgi_pass   backend;
                 fastcgi_index  index.php;
                 fastcgi_param  SCRIPT_FILENAME  /var/www/mydomain/$fastcgi_script_name;
                 include fastcgi_params;
                 fastcgi_param  QUERY_STRING     $query_string;
                 fastcgi_param  REQUEST_METHOD   $request_method;
                 fastcgi_param  CONTENT_TYPE     $content_type;
                 fastcgi_param  CONTENT_LENGTH   $content_length;
                 fastcgi_intercept_errors        on;
                 fastcgi_ignore_client_abort     on;
                 fastcgi_read_timeout 360;
              }


              ## Disable viewing .htaccess & .htpassword                                                            
              location ~ /\.ht {
                 deny  all;
}


              location = /favicon.ico {
                         access_log off;
                         log_not_found off;
                         }
}


upstream backend {
              server 127.0.0.1:9000;

}

E este é o arquivo de configuração do subdomínio, que foi configurado após o Wiki do Nginx . Como você pode ver, o subdomínio é de um domínio diferente, não aquele para o qual ele redireciona.

Quero dizer, quando vou para phplist.myotherdomain.com, ele vai para www.mydomain.com. Myotherdomain e Mydomain são diferentes, e na verdade o myotherdomain principal está em outro servidor, trabalhando separadamente (e eu gostaria de mantê-lo assim). Este é o arquivo de configuração:

server {
                listen 80;
                server_name phplist.myotherdomain.com;

                root /var/www/phplist/public_html/lists;
                index index.php;

                #access_log <<log file>>;
                #error_log <<log file>>;

                charset utf-8;

                location ~* \.(txt|log|inc)$ {
                    allow 127.0.0.1;
                    deny all;
                }

                location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                  expires max;
                  log_not_found off;
               }

                #block phplist config directory
                location /config {
                    deny all;
                }

                #per the phplist .htaccess these are the only public allowed php files
                location ~* (index\.php|upload\.php|connector\.php|dl\.php|ut\.php|lt\.php|download\.php)$ {
                       fastcgi_split_path_info ^(.|\.php)(/.+)$;

                       include /etc/nginx/fastcgi_params.conf; #standar fastcgi config file
                       fastcgi_param SCRIPT_FILENAME /var/www/phplist/public_html/lists$fastcgi_script_name;
                       fastcgi_intercept_errors on;
                       fastcgi_pass 127.0.0.1:9000;
                }


                #block all other php file access from public
                location ~ \.php$ {
                   deny all;
                }

}

Eu acho que o problema está na parte do fastcgi, mas não tenho certeza do que está errado lá. Estou usando o PHP-FPM junto com o Nginx. As pastas raiz são OK, e os arquivos dos meus blogs e do servidor phplist estão onde deveriam estar.

Alguma idéia?

    
por javipas 07.11.2011 / 12:52

0 respostas