当我改变时
passenger_enabled on;
rails_env development;
关注状态为Default: rails_env production;
passenger_enabled on;
rails_env production;
使用nginx,nginx error.log寄存器在Ubuntu 16.04上跟随sudo service nginx restart
Could not spawn process for application [...]/current: An error occurred while starting up the preloader
Message from application: undefined method `skip_authorization_check' for SessionsController:Class
关于sessions_controller方法skip_authorization_check
的动机,这是设计认证宝石使用的方法......我不相信这是错误的真正来源,因为乘客在开发模式下完成其工作。事实上,恢复到开发会按预期运行所有功能,并以非https方式运行。
我缺少什么?
更新按照回答中的建议,获取以下内容来监控nginx进程
ps aux|grep nginx root 10373 0.0 0.2 180124 5756 ? Ss 14:26 0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data 10378 0.0 0.6 180480 13336 ? S 14:26 0:00 nginx: worker process
www-data 10381 0.0 0.5 180124 11404 ? S 14:26 0:00 nginx: worker process
deploy 16182 0.0 0.0 12944 896 pts/0 S+ 16:49 0:00 grep --color=auto nginx
答案 0 :(得分:0)
这份旅客自述文件可能会有所帮助。 glamorous
我个人会检查以确保没有陈旧的nginx进程与ps aux|grep nginx
一起浮动,如果9太严厉,则触发kill -9
或-15
。
然后尝试在开发模式下运行,tail -f log/development.log
只是为了确保一切正常。另外,根据您的rails版本,{@ 1}}可能已被弃用。从此回答中rails_env
或rack_env
:https://github.com/phusion/passenger/wiki/Debugging-application-startup-problems。欢呼声。