nginx пропускает папку для отдачи статики

Тема в разделе "Администрирование серверов", создана пользователем Generic, 4 ноя 2009.

Статус темы:
Закрыта.
Модераторы: mefish, stooper
  1. Generic

    Generic Создатель

    Регистр.:
    19 апр 2009
    Сообщения:
    21
    Симпатии:
    1
    Доброго времени суток.
    Имеется ВПС на Дебиан 5.0 с 768 Мб озу,apache 2.2.9 с мод_пхп(висит на 8080 порту),nginx 0.6.32
    На ВПС крутится сайт на ДЛЕ.До поры до времени всё работало нормально,пока не увеличилась нагрузка.Было принятьо решение установить нгинкс для отдачи всей статики.И тут появилась проблема - нгинкс пропускает необходимую папку,о чём указывает в логе.

    nginx.conf:
    Код:
    worker_processes  4;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
     
        log_format main  '$remote_addr - $remote_user [$time_local] $status '
        '"$request" $body_bytes_sent "$http_referer" '
        '"$http_user_agent" "http_x_forwarded_for"';
    
         access_log /var/log/nginx/error.log main;
     
        sendfile       on;
        tcp_nopush     on;
        tcp_nodelay    on;
     
        server {
            listen       80;
            server_name  wmclub.co.ua  www.wmclub.co.ua insky.pp.ua www.insky.pp.ua mortin.pp.ua www.mortin.pp.ua;
            access_log  /var/log/nginx/access.log  main;
     
            # Main location
            location / {
                proxy_pass         http://127.0.0.1:8080/;
                proxy_redirect     off;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                client_max_body_size       10m;
                client_body_buffer_size    128k;
                proxy_connect_timeout      90;
                proxy_send_timeout         90;
                proxy_read_timeout         90;
                proxy_buffer_size          4k;
                proxy_buffers              4 32k;
                proxy_busy_buffers_size    64k;
                proxy_temp_file_write_size 64k;
            }
    
            # Static files location
            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)$ 
            {
    
    location ~ /\.ht {
           deny  all;
    }
                root   /var/www;
            }
     
        }
    }
    
    default (из /etc/nginx/sites-available:(
    Код:
    # You may add here your
    # server {
    #	...
    # }
    # statements for each of your virtual hosts
    
    server {
      listen       *:80;
      server_name  wmclub.co.ua www.wmclub.co.ua;
     
      location / {
        proxy_pass   http://127.0.0.1:80;
      }
    
    root /var/www/;
    
    
    location ~* ^.+.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ { 
    root   /var/www/; 
    } 
     
      location @back {
        proxy_pass   http://127.0.0.1:80;
      }
    
    	# redirect server error pages to the static page /50x.html
    	#
    	error_page   500 502 503 504  /50x.html;
    	location = /50x.html {
    		root   /var/www/nginx-default;
    	}
    
    	# proxy the PHP scripts to Apache listening on 127.0.0.1:80
    	
    	location ~ \.php$ {
    		proxy_pass   http://127.0.0.1;
    	}
    
    	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    	#
    	#location ~ \.php$ {
    		#fastcgi_pass   127.0.0.1:9000;
    		#fastcgi_index  index.php;
    		#fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    		#includefastcgi_params;
    	#}
    
    	# deny access to .htaccess files, if Apache's document root
    	# concurs with nginx's one
    	
    	#location ~ /\.ht {
    		deny  all;
    	}
    }
    
    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #listen   8000;
    #listen   somename:8080;
    #server_name  somename  alias  another.alias;
    
    #location / {
    #root   html;
    #index  index.html index.htm;
    #}
    #}
    
    
    # HTTPS server
    #
    #server {
    #listen   443;
    #server_name  localhost;
    
    #ssl  on;
    #ssl_certificate  cert.pem;
    #ssl_certificate_key  cert.key;
    
    #ssl_session_timeout  5m;
    
    #ssl_protocols  SSLv2 SSLv3 TLSv1;
    #ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    #ssl_prefer_server_ciphers   on;
    
    #location / {
    #root   html;
    #index  index.html index.htm;
    #}
    #}
    
    Вот что пишет нгинкс в лог:
    Код:
    2009/11/04 14:08:04 [error] 11684#0: *28 open() "/var/www/uploads/top_icons/WiFiMonster.png" failed (2: No such file or directory)
    В папке www лежит папка wmclub,а нгинкс её пропускает,переходя сразу в uploads и ,понятное дело,не находит.В итоге,на сайте не грузятся картинки,яваскрипты и весь контент.

    Помогите пожалуйста решить проблему.Может что-то неправильно в конфигах?
     
  2. Ad1ce

    Ad1ce Постоялец

    Регистр.:
    18 авг 2009
    Сообщения:
    109
    Симпатии:
    25
    Если сайт один, то где встретишь /var/www/ замени на /var/www/wmclub/ в файле /etc/nginx/sites-available
     
    Generic нравится это.
  3. d1914

    d1914

    Заблокирован
    Регистр.:
    4 май 2007
    Сообщения:
    406
    Симпатии:
    64
    Код:
    location ~* ^.+.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js)$ { 
    root /var/www/[B]wmclub[/B]; 
    } 
    Код:
            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)$ 
            {
    location ~ /\.ht {
           deny  all;
    }
                root   /var/www/[B]wmclub[/B];
            }
    
     
    Generic нравится это.
  4. Generic

    Generic Создатель

    Регистр.:
    19 апр 2009
    Сообщения:
    21
    Симпатии:
    1
    Спасибо вам обоим.Помогло...:ay:
    Тему можно закрыть.
     
Статус темы:
Закрыта.