一个带有Passenger4.0.53/nginx (通过乘客安装)和PostgreSQL9.3.5数据库的rails3应用程序正在运行。部分!
调用home URL将按照rails应用程序controller=> home的操作=>索引呈现页面。
但是点击登录链接,就会生成正确的URL,但结果是404错误。重新启动乘客,然后ngingx没有改变行为..。
/etc/nginx/sites启用/默认设置如下:
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...Update看到其他类似的问题,我在第一个位置块中禁用了'passenger_enabled on;‘指令。重新启动nginx和应用程序。行为没有改变。随后我禁用了第一个定位块..。重新启动nginx和应用程序。行为没有改变。
我遗漏了什么?
发布于 2014-10-14 15:44:21
这个问题发生在nginx.conf上。我的理解是,passenger_ruby应该指向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..passenger_ruby”是明确的。
which passenger-config导致后续命令的粘贴。
rvm use <desired_version>
<result_of_which passenger_config> --ruby-command然后,从输出字符串中,可以在passenger_ruby中定义nginx.conf字符串,它应该重新组合如下所示
/home/deploy/.rvm/gems/ruby-1.9.3-p547/wrappers/rubyhttps://stackoverflow.com/questions/26360151
复制相似问题