Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Разработка и сопровождение сайтов (http://forum.sape.ru/forumdisplay.php?f=29)
-   -   nginx не отдает статику (http://forum.sape.ru/showthread.php?t=54937)

Geser 02.07.2010 20:00

nginx не отдает статику
 
Пытаюсь настроить nginx фронд-эндом, а apache бэк-эндом.
Apache на 81, nginx на 80 порту.
виртуал nginx:
Код:

server {
        listen  80;
        server_name  domain.com;
        access_log  /var/log/nginx/localhost.access.log;
error_log /var/log/nginx/localhost.error.log;
        location / {
proxy_pass http://ip:81;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }
location ~* ^.+.(jpeg|jpg|gif|png)$ { # Обрабатываемые типы файлов
root /var/www/domain; # Путь к коренвевому каталогу вашего сайта
}
}

Listen 81
...
виртуал апача:
Код:

<VirtualHost domain.com:*>
        ServerAdmin webmaster@localhost
        ServerName domain.com
ServerAdmin webmaster@doamain
        DocumentRoot /var/www/domain


        ErrorLog /var/log/apache2/error_g.log

        LogLevel warn

        CustomLog /var/log/apache2/access_g.log common

</VirtualHost>

Apache выключил, что бы отработать статику. Выдает 502 ошибку. Выключаю nginx и включаю apache - все работает. Т.е. почему-то все идет через apache, а nginx тут как бы вооще непричем.
В iptables перенаправление сделал:
iptables -t nat -A PREROUTING -p tcp -m tcp -d ip --dport 80 -j DNAT --to-destination ip:81

Добавлено через 1 час 18 минут
debian 5.04,apache 2.2.9-10+lenny8, nginx 0.6.32-3+lenny3
Полный конфиг nginx
Код:

user www-data;
worker_processes  1;
 
error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;
 
events {
    worker_connections  1024;
}
 
http {
    include      /etc/nginx/mime.types;
    default_type  application/octet-stream;
 
    access_log  /var/log/nginx/access.log;
 
    sendfile        on;
    #tcp_nopush    on;
 
    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;
 
    gzip  on;
 
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

Добавлено через 3 часа 10 минут
Все выключаем и телнетимся - естественно отлуп.
Включаем nginx и телнетимся на 80,81 - отлуп.
Выключаем nginx и включаем апач, телнетемся на 80 - ок, на 81 - ок.
Так не бывает :eek:

Wink 02.07.2010 20:36

Второй location не отрабатывает в nginx. Попробуйте убрать оттуда строчки комментариев и добавьте экранирующий слэш перед точкой расширения файла.

Код:

location ~* ^.+\.(jpeg|jpg|gif|png)$ {
  root /var/www/domain;
}


Geser 02.07.2010 20:59

Попробовал - результат тот же

Wink 02.07.2010 21:18

Цитата:

Сообщение от Geser (Сообщение 850613)
iptables -t nat -A PREROUTING -p tcp -m tcp -d ip --dport 80 -j DNAT --to-destination ip:81

А без этого перенаправления тоже не работает?

Geser 02.07.2010 21:22

тоже не работает

Ray Icemont 17.07.2010 21:51

У меня виртуал nginx прописан так:
Цитата:

server {
listen 80;
.... тру-ля-ля ....
#Static files location
location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|d oc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js |flv|mp3)$ {
root /home/domain/www/; }
}
Судя по всему разница только в закрывающем слеше в пути root директории.
У меня все работает. Правда nginx последнюю версию собирал сам.

Vetas 18.07.2010 10:46

У меня в настройках nginx в листен указывается ip сервера, то есть:
Цитата:

server {
listen **.***.***.**:80;
Попробуйте у себя.

Maxter 18.07.2010 18:46

Цитата:

Сообщение от Vetas (Сообщение 863799)
У меня в настройках nginx в листен указывается ip сервера, то есть:

Попробуйте у себя.

Аналогично, и работает.


Часовой пояс GMT +3, время: 01:07.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.