По сути, мой маршрут работает отлично, Пассажир, кажется, загружается - все в порядке. За исключением того, что ничего Railsy не происходит. Вот мой журнал Nginx от запуска сервера до первого запроса (игнорируйте другой домен / маршрут - это потому, что я еще не перенес новый домен, и он возвращает ошибку 403, потому что в общей папке нет файла индекса):
[ pid=24559 file=ext/nginx/HelperServer.cpp:826 time=2009-11-10 00:49:13.227 ]:
Passenger helper server started on PID 24559
[ pid=24559 file=ext/nginx/HelperServer.cpp:831 time=2009-11-10 00:49:13.227 ]:
Password received.
2009/11/10 00:49:53 [error] 24578#0: *1 directory index of "/var/www/***/current/public/" is forbidden, client: 188.221.195.27, server: ***, request: "GET / HTTP/1.1", host: "***"
2009/11/10 00:49:54 [error] 24578#0: *1 open() "/var/www/***/current/public/favicon.ico" failed (2: No such file or directory), client: 188.221.195.27, server: ***, request: "GET /favicon.ico HTTP/1.1", host: "***", referrer: "***"
Кто-то на IRC-канале RubyOnRails предположил, что это может быть проблема с разрешениями веб-сервера. У меня было подозрение, что это может быть проблема с правами доступа к файловой системе, но тогда Nginx запускается как www-data, а Passenger - как root.
Я могу нормально загружать статические файлы из публичного каталога, но приложение Rails не запускается. У кого-нибудь есть идея? Моя голова постепенно тает, разбираясь с этим!
Редактировать: вот файл vhost:
server {
listen 80;
server_name ***;
passenger_enabled on;
location / {
root /var/www/***/current/public;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}