Nginx, Passenger, Rails обслуживают статические файлы, но не запускают приложение

Nginx, Passenger, Rails обслуживают статические файлы, но не запускают приложение

Я видел другие подобные вопросы, но ни один из них не имел удовлетворительных ответов, так что вот. Я установил Ruby, Rails, Nginx и Passenger и попытался настроить их так, чтобы все работало вместе.

Вот соответствующая часть/opt/nginx/conf/nginx.conf

server { 
    listen 80; 
    server_name .myapp.dev; # There is an entry in my local /etc/hosts file for this

    passenger_enabled on; 

    root            /srv/www/myapp.dev/public;
    access_log      /srv/www/myapp.dev/logs/access_log;
    error_log       /srv/www/myapp.dev/logs/error_log warn;
}

Есть еще один serverблок, но он прослушивается, localhostпоэтому не думаю, что он вызывает какие-либо проблемы.

Вот выводls -la /srv/www/myapp.dev/

drwxr-xr-x 3 josh josh 4096 Dec  4 19:12 .
drwxr-xr-x 3 josh josh 4096 Dec  4 18:34 ..
drwxr-xr-x 2 josh josh 4096 Dec  4 18:34 logs
lrwxrwxrwx 1 josh josh   37 Dec  4 19:12 public -> /home/josh/rails/myapp/public

Мне интересно, нет ли ошибки прав доступа, но я не вижу никаких ошибок, указывающих на то, что он пытается запустить Ruby.

Это то, что добавляется /opt/nginx/logs/error.logпри перезапуске nginx

[ 2013-12-04 20:16:17.9953 2321/b6fea000 agents/Watchdog/Main.cpp:574 ]: Options: { 'analytics_log_user' => 'nobody', 'default_group' => 'nogroup', 'default_python' => 'python', 'default_ruby' => '/home/josh/.rvm/wrappers/ruby-2.0.0-p353/ruby', 'default_user' => 'nobody', 'log_level' => '0', 'max_instances_per_app' => '0', 'max_pool_size' => '6', 'passenger_root' => '/home/josh/.rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.26', 'pool_idle_time' => '300', 'temp_dir' => '/tmp', 'union_station_gateway_address' => 'gateway.unionstationapp.com', 'union_station_gateway_port' => '443', 'user_switching' => 'true', 'web_server_passenger_version' => '4.0.26', 'web_server_pid' => '2320', 'web_server_type' => 'nginx', 'web_server_worker_gid' => '65534', 'web_server_worker_uid' => '65534' }
[ 2013-12-04 20:16:18.0527 2324/b6f0b000 agents/HelperAgent/Main.cpp:626 ]: PassengerHelperAgent online, listening at unix:/tmp/passenger.1.0.2320/generation-0/request
[ 2013-12-04 20:16:18.1577 2329/b6683000 agents/LoggingAgent/Main.cpp:318 ]: PassengerLoggingAgent online, listening at unix:/tmp/passenger.1.0.2320/generation-0/logging
[ 2013-12-04 20:16:18.1644 2321/b6fea000 agents/Watchdog/Main.cpp:761 ]: All Phusion Passenger agents started!

Nginx обслуживает статические файлы, например, если я захожу на myapp.dev/500.html, то вижу страницу ошибки Rails 500 по умолчанию. Phusion Passenger упоминается в журналах, так что, похоже, он работает (хотя это и error.log, результат не кажется отрицательным).

Я рву на себе волосы, пытаясь заставить это работать. У кого-нибудь есть идеи?

РЕДАКТИРОВАТЬ

Вот выводrake routes

rake routes
   Prefix Verb   URI Pattern               Controller#Action
    posts GET    /posts(.:format)          posts#index
          POST   /posts(.:format)          posts#create
 new_post GET    /posts/new(.:format)      posts#new
edit_post GET    /posts/:id/edit(.:format) posts#edit
     post GET    /posts/:id(.:format)      posts#show
          PATCH  /posts/:id(.:format)      posts#update
          PUT    /posts/:id(.:format)      posts#update
          DELETE /posts/:id(.:format)      posts#destroy
     root GET    /                         posts#index

Но посещение myapp.dev/postsвозвращается 404.

решение1

Пассажир не может найти ваше приложение....

Изменить root /srv/www/myapp.dev/public;на root /home/josh/rails/myapp/public;

Связанный контент