最近、Rails アプリをサブ uri にデプロイする目的で、Phusion Passenger を使用して Nginx をセットアップしました。Rails アプリは必要に応じてデプロイされますが、projectvisionapps.com に移動すると、nginx によって projectvisionapps.com/index.html/ にルーティングされ、404 がスローされることに気付きました。projectvisionapps.com/index.html を手動で入力すると、 、nginx は正しいページを提供します。
手がかりや提案はありますか?
nginx エラー ログを確認すると、次のように表示されます。
2012/10/06 19:23:05 [error] 20782#0: *21 "/var/www/vhosts/projectvisionapps.com/httpdocs/index.html/index.html" is not found (20: Not a directory), client: 50.1.57.140, server: , request: "GET /index.html/ HTTP/1.1", host: "www.projectvisionapps.com"
私の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 {
index index.html;
passenger_root /home/samudzi/.rvm/gems/ruby-1.9.3-p194@global/gems/passenger-3.0.17;
passenger_ruby /home/samudzi/.rvm/wrappers/ruby-1.9.3-p194/ruby;
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
include /opt/nginx/conf/conf.d/*.conf;
}
含まれている .conf ファイルは次のとおりです。
server {
listen 74.208.46.76:80;
server_name projectvisionapps.com;
#root /var/www/vhosts/projectvisionapps.com/httpdocs;
#try_files $uri.html $uri $uri/ @notfound;
location / {
index index.html;
root /var/www/vhosts/projectvisionapps.com/httpdocs;
try_files $uri $uri/ /index.html;
}
}
Railsアプリの場合(これは完全に機能します)
server {
listen 74.208.46.76:80;
#server_name projectvisionapps.com;
root /var/www/vhosts/projectvisionapps.com/httpdocs;
passenger_enabled on;
passenger_base_uri /dev;
rails_spawn_method smart;
rails_env development;
gzip on;
}
提案やアドバイスをありがとう!