Кластер из 3х файлов (err.log, chat.yml, chat.conf для Nginx):
err.log:
2015/03/19 15:05:50 [crit] 1535#0: *79 connect() to unix:/var/www/chat/public/tmp/sockets/thin.0.sock failed (2: No such file or directory) while connecting to upstream, client: 162.243.6.35, server: chat.stackin.money, request: "GET / HTTP/1.1", upstream: "http://unix:/var/www/chat/public/tmp/sockets/thin.0.sock:/", host: "chat.stackin.money"
2015/03/19 15:05:50 [crit] 1535#0: *79 connect() to unix:/var/www/chat/public/tmp/sockets/thin.1.sock failed (2: No such file or directory) while connecting to upstream, client: 162.243.6.35, server: chat.stackin.money, request: "GET / HTTP/1.1", upstream: "http://unix:/var/www/chat/public/tmp/sockets/thin.0.sock:/", host: "chat.stackin.money"
chat.conf:
upstream stackin_money {
ip_hash;
server unix:/var/www/chat/public/tmp/sockets/thin.0.sock max_fails=1 fail_timeout=15s;
server unix:/var/www/chat/public/tmp/sockets/thin.1.sock max_fails=1 fail_timeout=15s;
}
server {
listen 80;
server_name chat.stackin.money;
location / {
proxy_pass http://stackin_money;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
root /var/www/chat/public;
# access_log /var/log/nginx/access.log;
# error_log /var/log/nginx/error.log;
}
chat.yml:
user: root
group: root
pid: tmp/pids/thin.pid
timeout: 30
wait: 30
log: /var/log/thin/thin.log
max_conns: 1024
require: []
environment: production
max_persistent_conns: 512
servers: 2
onebyone: true
threaded: true
no-epoll: true
daemonize: true
socket: tmp/sockets/thin.sock
chdir: /var/www/chat/public
tag: chat aux
Итак, я запускаю приложение sinatra, которое использует thin в качестве сервера для чата в реальном времени, и поскольку я хочу, чтобы это работало в субдомене, я использую Nginx для обратного прокси. Однако я сталкиваюсь с несколькими проблемами либо с Nginx, либо с Thin (получена ошибка из журнала ошибок Nginx), что он не может найти файл или каталог, который я указал в chat.yml тонких сокетов здесь (ниже). Это правда, его там совсем нет.
Любая помощь? заранее спасибо
Смотреть в / вар / www / чат / общедоступные / tmp / сокеты / - существует ли на самом деле thin.0.sock? Насколько мне известно, Thin поддерживает только сокеты TCP, но не сокеты Unix. Если вы скопировали сокет Unix из примера, относящегося к Unicorn, это объяснило бы это, поскольку Unicorn поддерживает их.
Я предлагаю изменить блок определения восходящего потока, чтобы сказать server http://127.0.0.1:4567
или что-то в этом роде (независимо от того, какой порт использует тонкий процесс).