Weird problem

Igor Sysoev is at rambler-co.ru
Mon Mar 2 10:50:18 MSK 2009


On Mon, Mar 02, 2009 at 02:04:59AM -0500, Jim Ohlstein wrote:

> nginx.conf:
> 
> 
> #user nginx;
> worker_processes  8;
> 
> error_log  logs/error.log;
>  
> pid        logs/nginx.pid;
> 
> 
> events {
>     worker_connections  1024;
> }
> 
> 
> http {
>     include       mime.types;
>     default_type  application/octet-stream;
>     server_tokens off;
> 
>     sendfile        on;
>     tcp_nopush	    on;
>     tcp_nodelay     on;
> 
>     server_names_hash_bucket_size    64;
> 
>     #keepalive_timeout  0;
>     keepalive_timeout  70 20;
> 
>     gzip  on;
>     gzip_comp_level 1; gzip_proxied any; 
> 	gzip_types text/plain text/css application/x-javascript text/xml
> application/xml application/xml+rss text/javascript;
> 
>     server {
>         listen      *:80;
>         server_name  mars.jlkhosting.com;
> 
>         
>         location / {
>             root   html;
>             index  index.php index.html index.htm;
>         }
> 
>         error_page  404              /404.html;
> 
>         error_page   500 502 503 504  /50x.html;
>         location = /50x.html {
>             root   html;
>         }
> 
>         location ~ \.php$ {
>             root           html;
>             fastcgi_pass   127.0.0.1:9000;
>             fastcgi_index  index.php;
>             fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
>             include        fastcgi_params;
>         }
> 
> 		location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
>         	expires max;
> 		}
> 
>         location ~ /\.ht {
>             deny  all;
>         }
>     }
> 
> 
> 
> include /usr/local/nginx/sites-enabled/*;
> include /usr/local/nginx/conf/fastcgi_params;
> }
> 
> Typical site config:
> 
> server {
> listen vivid-tube.com:80;

Try to set address here:
   listen XX.XX.XX.XX:80;

I think that nginx's host nameserver have cached an old vivid-tube.com
address and so nginx does not match a new address. Other way is wildcard

   listen *:80;

or

   listen 80;

> server_name vivid-tube.com  *.vivid-tube.com;
> index index.php index.html;
> root /home/jim/vivid-tube.com/html;
> 
> location / {
> error_page 404 = //index.php;
> 
> if ($host ~* www\.(.*)) {
>   set $host_without_www $1;
>   rewrite ^(.*)$ http://$host_without_www$1 permanent;
> }

BTW, it's better to move this "if" in separate server:

server {
    server_name vivid-tube.com  *.vivid-tube.com;
    ...
}

server {
    server_name   www.vivid-tube.com;
    rewrite ^   http://vivid-tube.com$request_uri? permanent;
}

> location ~ \.flv$ {
>     flv;
> }
> 
> location ~ .php$ {
> fastcgi_pass 127.0.0.1:9000;
> fastcgi_index index.php;
> include /usr/local/nginx/conf/fastcgi_params;
> }
> }
> 
> 
> 
> Currently that domain is pointing to nginx doc root and you can confirm by
> going to http://vivid-tube.com/phpinfo.php. You'll see that the php variable
> "_SERVER["SCRIPT_FILENAME"]" is "/usr/local/nginx/html/phpinfo.php". Earlier
> that domain was pointing to another domain. Later it will point (hopefully)
> where it should...
> 
> I've reloaded and restarted nginx and even rebooted the server. No luck.
> 
> Jim
> 
> 
> 
> 
> From: owner-nginx at sysoev.ru [mailto:owner-nginx at sysoev.ru] On Behalf Of Joe
> Sent: Monday, March 02, 2009 1:26 AM
> To: nginx at sysoev.ru
> Subject: Re: Weird problem
> 
> Any parts of your nginx.conf?
> On Mon, Mar 2, 2009 at 9:25 AM, Jim Ohlstein <jim.ohlstein at gmail.com> wrote:
> I?m setting up a new server, consolidating some smaller ones into the new
> one. I?ve installed nginx 0.7.38 and I?m using BIND as a nameserver. I have
> checked my domain.host files and they all look fine.
>  
> I?m moving domains a few at a time. As I move them I change the IP?s of the
> child nameservers to point to IP?s on the new server. This results in fairly
> quick propagation and within a short period if I flush my cache at my home
> PC I am directed to the new server.
>  
> I am using the same nginx.conf as I use elsewhere, except for the server
> name and number of child processes. I use the same site config files. I am
> using the same paths? generally /home/jim/domain.tld/html for a document
> root, and I am using the same version and configuration of php and php-fpm
> with the same user and group. The only difference in my nginx binary is that
> I have added support for h.264 streaming but I have removed that with the
> same results so I doubt that can be an issue.
>  
> The problem is that each time I add a domain for anywhere from 6-24 hours
> nginx serves pages from a different domain on the new machine. Or sometimes
> it defaults to serving from /usr/local/nginx/html. I?ve confirmed the paths
> that it is calling ?document root? and that the IP?s are from the new
> server. After this amount of time nginx starts serving documents from the
> correct directory/doc root.
>  
> Any ideas?
> 
> 
> 
> -- 
> Regards,
> Joe
> 

-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list