Nginx permission denied

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модератор: SLEDopit

Ответить
spool
Сообщения: 126
ОС: CentOS 6.6

Nginx permission denied

Сообщение spool »

Здравствуйте. Сделал отдачу статики через nginx, но изображения, js и css не отдаются с ошибкой
Spoiler

Код: Выделить всё

2015/03/01 20:06:14 [error] 29732#0: *80 open() "/home/www/cp/images/on.jpg.gz" failed (13: Permission denied), client: xx.xx.xx.xx, server: mysite.com, request: "GET /cp/images/on.jpg HTTP/1.1", host: "mysite.com", referrer: "http://mysite.com/cp/?module=user"
2015/03/01 20:06:14 [error] 29732#0: *80 open() "/home/www/cp/images/on.jpg" failed (13: Permission denied), client: xx.xx.xx.xx, server: mysite.com, request: "GET /cp/images/on.jpg HTTP/1.1", host: "mysite.com", referrer: "http://mysite.com/cp/?module=user"
2015/03/01 20:06:14 [error] 29732#0: *82 open() "/home/www/cp/images/off.jpg.gz" failed (13: Permission denied), client: xx.xx.xx.xx, server: mysite.com, request: "GET /cp/images/off.jpg HTTP/1.1", host: "mysite.com", referrer: "http://mysite.com/cp/?module=user"
2015/03/01 20:06:14 [error] 29732#0: *82 open() "/home/www/cp/images/off.jpg" failed (13: Permission denied), client: xx.xx.xx.xx, server: mysite.com, request: "GET /cp/images/off.jpg HTTP/1.1", host: "mysite.com", referrer: "http://mysite.com/cp/?module=user"
2015/03/01 20:06:14 [error] 29732#0: *80 open() "/home/www/images/cs.gif.gz" failed (13: Permission denied), client: xx.xx.xx.xx, server: mysite.com, request: "GET /images/cs.gif HTTP/1.1", host: "mysite.com", referrer: "http://mysite.com/cp/?module=user"
2015/03/01 20:06:14 [error] 29732#0: *80 open() "/home/www/images/cs.gif" failed (13: Permission denied), client: xx.xx.xx.xx, server: mysite.com, request: "GET /images/cs.gif HTTP/1.1", host: "mysite.com", referrer: "http://mysite.com/cp/?module=user"


Конфиг nginx
Spoiler

Код: Выделить всё

# cat nginx.conf
user  nginx;
worker_processes  4;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
    use epoll;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$server_name" "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    error_log /var/log/nginx/error.log crit;

    sendfile        on;
    tcp_nopush     on;
    server_tokens off;
    keepalive_timeout  65;

    gzip  on;
    gzip_static on;
    gzip_comp_level 5;
    gzip_min_length 1024;

    limit_conn_zone $binary_remote_addr zone=perip:10m;
    limit_conn perip 100;

    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;

    include /etc/nginx/conf.d/*.conf;

    server {
        listen 80 default;
        location ~ /.ht {
            deny all;
        }
        location / {
            proxy_pass http://127.0.0.1:8080;
        }
        error_page 404 /404.html;
            location = /404.html {
                root /usr/share/nginx/html;
            }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
                root /usr/share/nginx/html;
            }
    }
}


Конфиг сайта
Spoiler

Код: Выделить всё

server {
    listen ххх.ххх.ххх.ххх:80;
    server_name mysite.com www.mysite.com;
    location ~ /.ht {
        deny all;
    }
    location ~* .(jpg|swf|jpeg|gif|png|css|js|ico)$ {
        root /home/www;
    }
    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}


Т.е. не отдает все то, что прописано в location. Подскажите, пожалуйста, где проблема. Заранее благодарен.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Nginx permission denied

Сообщение Bizdelnick »

Видимо, юзеру nginx не хватает прав на чтение файлов.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
spool
Сообщения: 126
ОС: CentOS 6.6

Re: Nginx permission denied

Сообщение spool »

На файлах стоит 644. В случае с другими доменами все отдается нормально, хотя на тех файлах также стоит 644 и принадлежат они пользователю, отличному от nginx. Правда в случае с проблемными файлами они принадлежат пользователю apache. Возможно, это как-то связано.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Nginx permission denied

Сообщение Bizdelnick »

А на каталог какие права?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
spool
Сообщения: 126
ОС: CentOS 6.6

Re: Nginx permission denied

Сообщение spool »

Bizdelnick
Действительно, не досмотрел. Поставил 755, но ситуацию это не решило.
Еще такая беда периодически появляется

Код: Выделить всё

2015/03/01 22:22:06 [warn] 3370#0: *135 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/3/00/0000000003 while reading upstream
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Nginx permission denied

Сообщение drBatty »

spool писал(а):
01.03.2015 21:33
На файлах стоит 644.

попробуйте зайти из рута в nginx

Shell

root@host # su - nginx nginx@host $ cp /home/www/cp/images/on.jpg.gz /tmp/


если прав не хватит, смотрите права всех каталогов, должен быть выставлен бит +x (на каталогах). Если хозяин и группа каталога не nginx, то бит +x должен быть выставлен на other
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
spool
Сообщения: 126
ОС: CentOS 6.6

Re: Nginx permission denied

Сообщение spool »

drBatty
На всех директориях стоит 755
От nginx все копируется без проблем
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Nginx permission denied

Сообщение Bizdelnick »

spool писал(а):
01.03.2015 23:21
Еще такая беда периодически появляется

Код: Выделить всё

2015/03/01 22:22:06 [warn] 3370#0: *135 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/3/00/0000000003 while reading upstream

Это беда?
http://nginx.org/ru/docs/http/ngx_http_pro...proxy_buffering
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
spool
Сообщения: 126
ОС: CentOS 6.6

Re: Nginx permission denied

Сообщение spool »

Bizdelnick
Действительно. Тогда не понятно, почему обозначается как warn
Спасибо сказали:
spool
Сообщения: 126
ОС: CentOS 6.6

Re: Nginx permission denied

Сообщение spool »

Странно, но сейчас все работает нормально, судя по всему. Спасибо за помощь.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Nginx permission denied

Сообщение Bizdelnick »

spool писал(а):
02.03.2015 09:20
не понятно, почему обозначается как warn

Видимо потому что не влезает в выделенный объём ОЗУ и может привести к замедлению работы. Стоит ли увеличивать лимит - решать админу, а дело сервера - предупредить.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
spool
Сообщения: 126
ОС: CentOS 6.6

Re: Nginx permission denied

Сообщение spool »

Bizdelnick
Подскажите, пожалуйста, как и до скольки будет оптимально увеличить, если на сервере всегда свободно около 2 гб оперы.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Nginx permission denied

Сообщение Bizdelnick »

Не знаю. Если в IO не упираетесь, я бы ничего не менял.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Ответить