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?