【发布时间】:2021-04-26 19:51:33
【问题描述】:
我遇到了一个问题,它阻止我在生产服务器上启动我的 Ruby on Rails 应用程序,尽管它在开发和暂存环境中都能正常运行。错误信息如下:
[ E 2021-04-26 14:53:39.4216 14896/T11 age/Cor/App/Implementation.cpp:221 ]: Could not spawn process for application /path/to/application: The application encountered the following error: No such file to load -- /path/to/application/app/config/environment.rb (LoadError)
出于某种原因,Passenger 试图在 app 文件夹中找到 config/environment.rb,而它应该只是在寻找:
/path/to/application/config/environment.rb
Passenger 正在使用 Apache 进行配置,站点配置如下所示:
<VirtualHost *:80>
# PassengerFriendlyErrorPages on
# PassengerStartTimeout 90
ServerAdmin email@example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
DocumentRoot /path/to/application/public
<Directory /path/to/application/public>
AllowOverride None
Options -Multiviews
Require all granted
</Directory>
</VirtualHost>
PassengerPreStart http://localhost
PassengerAppEnv production
PassengerLogFile ${APACHE_LOG_DIR}/passenger.log
服务器运行的是 Ubuntu 18.04。我已经包含了我认为是以下相关版本的内容: 红宝石 - 2.5.1 Ruby on Rails - 5.2.5 乘客 - 6.0.7
有谁知道我可能缺少什么配置导致乘客在错误的地方寻找?
【问题讨论】:
-
可以在本地(不带Passenger)的生产环境中运行服务器吗?
标签: ruby-on-rails ruby apache ubuntu passenger