从开发到生产,乘客无法连接到应用程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从开发到生产,乘客无法连接到应用程序相关的知识,希望对你有一定的参考价值。

当我改变

    passenger_enabled on;
    rails_env         development;

跟随passenger documentationDefault: rails_env production;

    passenger_enabled on;
    rails_env         production;

其次是在Ubuntu 16.04上的sudo service nginx restart和nginx,nginx error.log寄存器

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
答案

这份旅客自述文件可能会有所帮助。 https://github.com/phusion/passenger/wiki/Debugging-application-startup-problems

我个人会检查以确保没有陈旧的nginx进程与ps aux|grep nginx浮动并且如果9太严厉则触发kill -9-15

然后尝试在开发模式和tail -f log/development.log中运行,以确保一切正常。另外,根据你的rails版本,rails_env可能会被弃用。从这个答案中尝试rack_envpassenger_app_envhttps://stackoverflow.com/a/20845689/1679747。干杯。

以上是关于从开发到生产,乘客无法连接到应用程序的主要内容,如果未能解决你的问题,请参考以下文章

为啥我无法从外部连接到 Kafka?

Laravel Spark - 无法连接到 repo

无法使用 JDBC 连接到 docker 中的本地 MySQL

无法从 WildFly 连接到 HBase

出于开发目的,无法从本地主机连接到 AWS RDS Postgresql

Rails 和 Amazon RDS:“未配置生产数据库”