Вот что у меня есть в моем nginx.conf:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
passenger_root /usr/lib/ruby/gems/1.9.1/gems/passenger-3.0.11;
passenger_ruby /usr/bin/ruby;
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain text/html text/css
application/x-javascript text/xml
application/xml application/xml+rss
text/javascript;
server {
listen 80;
server_name domain.com www.domain.com;
# autoindex on;
passenger_enabled on;
rails_env production;
access_log logs/mrfs.access.log;
location / {
root /opt/nginx/html/mrfs/public; #line updated per suggestion below
}
}
}
Я могу включать и выключать автоиндекс, и он будет отображать ошибку 403, когда он закомментирован, или список каталогов, когда он включен. Когда у меня есть доступ к спискам каталогов, я могу просматривать их и загружать различные файлы. Мне кажется, что это не проблема с разрешениями. Когда у меня отключен автоматический индекс, я получаю сообщение об ошибке каталога в журнале ошибок. Я думаю, что мне нужно сделать, это сказать nginx, как загрузить мой файл index.html.erb? Как я могу это сделать? Это то, что не так?
Обновление
Я помещаю «index.html» в мою папку / opt / nginx / html / mrfs / public, и она загружается. Так что может заставить rails / nginx / passenger загружать файл index.html публично, но не загружать файл home.html.erb в мои маршруты? Я могу запустить 'rails s', а затем сделать wget http://localhost, и он откроет нужный HTML-файл.