Пассажир частично не обслуживает сайт

Приложение rails3 с Passenger4.0.53/nginx (установлено через пассажира) и база данных postgresql 9.3.5 работает... частично!

Вызов домашнего URL-адреса - это отображение страницы в соответствии с контроллером приложений rails => home, action => index.

но нажав ссылку для входа, создается правильный URL-адрес, но результатом является ошибка 404. Перезапуск пассажира, затем ngingx не изменил поведение...

/etc/nginx/sites-enabled/default устанавливается следующим образом:

server {
 listen 80 default_server;
 listen [::]:80 default_server ipv6only=on;

 server_name ranz2.iwant2go2.com;
 passenger_enabled on;
 rails_env development;
 root /home/deploy/ranz/current/public;

 # location / {
 # try_files $uri $uri/ =404;
 # passenger_enabled on;
 # }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
}

Журнал ошибок nginx

[ 2014-10-14 07:42:57.7851 24433/7f42e3109780 agents/Watchdog/Main.cpp:538 ]: Options: { 'analytics_log_user' => 'nobody', 'default_group' => 'nogroup', 'default_python' => 'python', 'default_ruby' => '/usr/bin/ruby', 'default_user' => 'nobody', 'log_level' => '0', 'max_pool_size' => '6', 'passenger_root' => '/usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini', 'passenger_version' => '4.0.53', '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.53', 'web_server_pid' => '24432', 'web_server_type' => 'nginx', 'web_server_worker_gid' => '33', 'web_server_worker_uid' => '33' }
[ 2014-10-14 07:42:57.8090 24436/7f55db281780 agents/HelperAgent/Main.cpp:650 ]: PassengerHelperAgent online, listening at unix:/tmp/passenger.1.0.24432/generation-0/request
[ 2014-10-14 07:42:57.8705 24441/7fbfd457b7c0 agents/LoggingAgent/Main.cpp:321 ]: PassengerLoggingAgent online, listening at unix:/tmp/passenger.1.0.24432/generation-0/logging
[ 2014-10-14 07:42:57.8715 24433/7f42e3109780 agents/Watchdog/Main.cpp:728 ]: All Phusion Passenger agents started!
[ 2014-10-14 07:42:57.8865 24441/7fbfd457b7c0 agents/LoggingAgent/Main.cpp:289 ]: Caught signal, exiting...

Обновляясь, видя другие подобные вопросы, я отключил функцию "access_enabled on"; инструкции в первом блоке местоположения. Перезапуск nginx и приложение. Никаких изменений в поведении. Впоследствии я отключил первый блок местоположения... Перезапущенный nginx и приложение. Никаких изменений в поведении.

Что мне не хватает?

1 ответ

Проблема была в nginx.conf. Мое понимание заключалось в том, что пассажир_руб должен указать на результат which ruby, к которому я переключился:

passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
# passenger_ruby /usr/bin/ruby;
passenger_ruby /home/deploy/.rvm/rubies/ruby-1.9.3-p547/bin/ruby;

Тем не менее, RTFM, который возвращает ошибку пассажира. Чье содержимое указывает один в правильном направлении (хорошо на "ya Phusion!"). Руководство, раздел "8.3.1. Пассажир_руб", является явным.

which passenger-config

вставить, что приведет к последующим командам

rvm use <desired_version>
<result_of_which passenger_config=""> --ruby-command
</result_of_which></desired_version>

то из выходной строки у вас есть строка для определения user_ruby в nginx.conf, которая должна располагать что-то вроде

/home/deploy/.rvm/gems/ruby-1.9.3-p547/wrappers/ruby

licensed under cc by-sa 3.0 with attribution.