Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: nginx-0.8.28
Все еще не получается использовать unix domain sockets так, как хотелось бы.
Идея была в том, что есть коллекция файлов на медленном NFS сервере и хотелось
бы отдавать их в инет. Для этого я замкнул на себя два виртуальных сервера,
один из которых читает данные с NFS и выступает backend'ом для другого сервера,
который, в свою очередь, выступает прокси для первого, с хранилищем на
локальном диске, и далее отдает файлы в Интернет.
Проблема вылезает из-за использования директивы: user nginx; в конфиге.
При старте сокет создается еще root, с правами 755
srwxr-xr-x 1 root root 0 Nov 24 13:50 storage.socket
Все бы хорошо, но второй виртуальный сервер, который пытается читать из этого
сокета, делает это с правами пользователя nginx, в результате чего обламывается
с:
2009/11/24 13:50:51 12125#0: *1 connect() to unix:/var/run/storage.socket
failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1,
server: storage.localdomain, request: "GET /", upstream:
"http://unix:/var/run/storage.socket:/"
По той же причине не срабатывает restart сервиса, т.к. пользователь с правами
nginx не может удалить сокет при выходе и спотыкается на нем при старте.
2009/11/24 14:13:11 13198#0: bind() to unix:/var/run/storage.socket failed
(98: Address already in use)
В первом приближении конфиг такой:
user nginx;
worker_processes 10;
worker_rlimit_nofile 100000;
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server {
listen unix:/var/run/storage.socket default;
server_name _;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
server {
listen 8080;
server_name storage.localdomain;
location / {
proxy_pass http://unix:/var/run/storage.socket:/;
}
}
}
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,25026,25290#msg-25290
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|