Eu tenho um servidor Double Quad-Core Centos 6.3 com 32 GB de RAM.
Eu instalei o nginx para servir arquivos estáticos e como servidor proxy reverso para o apache como backend. O painel que estou usando é o IspConfig 3.0.5.2.
Tudo parecia ter funcionado bem no começo, mas recentemente percebi que há algo errado! O Nginx está sendo veiculado a partir da raiz incorreta do documento. Eu rastreei através do google e nginx fóruns, mas não consegui encontrar uma solução. Fiz várias modificações / alterações / alterações nos arquivos de configuração e tentei depurar os logs do nginx, mas tudo isso sem alegria!
Abaixo estão meus arquivos de configuração e trechos de registros. Por favor me ajude a resolver.
// ARQUIVO /etc/nginx/nginx.conf
# For more information on configuration, see:
# * Official English Documentation: nginx. org/en/docs/
# * Official Russian Documentation: nginx. org/ru/docs/
user apache nginx;
worker_processes 8;
error_log /var/log/nginx/error.log warn;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
# allow long server names
server_names_hash_bucket_size 64;
include /etc/nginx/mime.types;
default_type application/octet-stream;
index index.html index.htm index.php;
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
log_format mukaanyes '$remote_addr - $remote_user [$time_local] '
'"$request" $host "$domain" $status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
# access_log /var/log/ispconfig/httpd/$domain/access.log mukaanyes;
access_log /var/log/nginxaccess.log mukaanyes;
#access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
server_tokens off;
#keepalive_timeout 0;
keepalive_timeout 65;
#mukaanyes; Make adjustments to gzip module
gzip on;
gzip_http_version 1.1;
gzip_vary on;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x$
gzip_buffers 16 8k;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
# Load config files from the /etc/nginx/conf.d directory
# The default server is in conf.d/default.conf
include /etc/nginx/conf.d/*.conf;
}
// END /etc/nginx/nginx.conf
// ARQUIVO /etc/nginx/conf.d/default.conf
server {
listen 80 default;
#server_name _;
server_name ~^(www\.)?(?P<domain>.+)$;
server_name_in_redirect off;
resolver 127.0.0.1;
root /var/www/$domain/web;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
access_log off;
expires 30d;
}
location / {
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
#included fcgid.conf instead
#fastcgi_param SERVER_NAME $domain; #avoid wrong doc_root, formerly was $host
# proxy_pass http://$host:82;
proxy_pass http://$domain:82;
#mukaanyes added proxy_redirect off
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host; #formerly was $host
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
// END /etc/nginx/conf.d/default.conf
// ARQUIVO /etc/nginx/conf.d/fcgid.conf
#fastcgi.conf
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
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_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
// END /etc/nginx/conf.d/fcgid.conf
Aqui está um trecho do arquivo de log com meu formato personalizado "mukaanyes"
66.249.73.224 - - [10/Jul/2013:00:18:02 +0100] "GET /ne_demek/hatil HTTP/1.1" www,mankenresimleri,net "mankenresimleri,net" 404 4196 "-" "Mozilla/5.0 (compatib le; Googlebot/2.1; +http://www.google.com/bot.html)" "-"
/ ne_demek / hatil é um pedido para http; // nedir.anlambilim.net, mas está sendo tentado ser servido de http; // mankenresimleri.net e retorna 404; A mesma situação é comum e recíproca entre outros domínios no servidor.
Isso acontece principalmente com os dispositivos Google Bot, iPhone e Android, tanto quanto eu posso concluir a partir de registros. Não consegui reproduzir o erro na minha máquina, é visível nos registros e nos Relatórios de erros de rastreamento das Ferramentas do Google para webmasters.
Por favor ajude.
Tags nginx