Ruby on rails 阿帕奇乘客可以';t启动我的生产rails应用程序
我是部署rails应用程序的新手,我在许多网站上看到,Apache/Passenger组合是最简单的组合之一;但是,我遇到乘客不想启动我的应用程序,并且在输入sudo tail-50/var/log/apache2/error.log时显示以下错误消息 命令: 我怀疑这与我的ruby安装有关,我使用了rbenv并获得了2.2.3版本,但在错误消息中,它链接到了我从未安装过的2.0.0版本。 我还怀疑这与我使用另一个指南中的两个命令有关:Ruby on rails 阿帕奇乘客可以';t启动我的生产rails应用程序,ruby-on-rails,ruby,apache,passenger,Ruby On Rails,Ruby,Apache,Passenger,我是部署rails应用程序的新手,我在许多网站上看到,Apache/Passenger组合是最简单的组合之一;但是,我遇到乘客不想启动我的应用程序,并且在输入sudo tail-50/var/log/apache2/error.log时显示以下错误消息 命令: 我怀疑这与我的ruby安装有关,我使用了rbenv并获得了2.2.3版本,但在错误消息中,它链接到了我从未安装过的2.0.0版本。 我还怀疑这与我使用另一个指南中的两个命令有关: sudo rm /usr/bin/ruby sudo
sudo rm /usr/bin/ruby
sudo ln -s /usr/local/bin/ruby /usr/bin/ruby
如果有人知道如何解决这个头痛的问题,我会非常感激
谢谢 您可能需要在
httpd.conf
文件中指定正确的PassengerDefaultRuby
我的建议是使用他们的官方指南完成乘客的安装:
在@dimakura和@CamdenNarzt留下一些线索后,我分两个阶段解决了这个问题
rake secret
复制输出并打开config/application.yml文件,我在其中输入:
SECRET_KEY_BASE: [output key from rake secret command]
重新启动Apache,它成功了 您是否安装了bundler?@CamdenNarzt是的,安装完成了,出现了相同的错误消息。那么dimakura可能走上了正确的道路,您需要将
PassengerDefaultRuby
设置为rbenv中ruby垫片的路径,该路径可能位于~/.rbenv/shimmes/ruby
@CamdenNarzt将PassengerDefaultRuby更改为passer.conf文件中的路径,该路径确实将我的错误消息中的ruby版本更改为现在的2.2.3;然而,我现在在浏览器中收到一条“从应用程序收到的不完整响应”消息,在我看到的日志中:(缺少secret\u token
和secret\u key\u base
对于“生产”环境,在config/secrets.yml
中设置这些值)我想我已经接近解决这个问题了(希望如此)现在只需在/etc/apache2/envvarsThanks中为线索@dimakura设置变量,我浏览了指南中的项目,安装了一些我认为缺少的依赖项,但仍然有完全相同的错误=/apache2在ubuntu 14.04上不再使用httpd.conf,我会在apache2.conf中添加PassengerDefaultRuby吗?不要编辑PassengerDefaultRuby。改为编辑Passengeruby。请看我对@Zero的评论。不要这样做!您应该自定义,而不是。将PassengerDefaultRuby保留为其原始值。阅读文档了解Passengeruby和PassengerDefaultRuby之间的区别。感谢@Hongli,我添加了一个Passengeruby行,并将PassengerDefaultRuby保留为其原始值。我认为每次有人打开服务器的shell登录时更改secret\u key\u base
不是一个好主意,而且,我认为在同一台服务器上的任何应用程序共享secret\u key\u base
都不是一个好主意。如果创建文件config/secrets.yml
并在文件中设置值,则效果更好。还请记住不要将文件提交到存储库。使用可以在项目根目录中的.rbenv vars
中存储环境变量:echo“SECRET\u KEY\u BASE=`rake SECRET`>/path/to/project/root/.rbenv vars
然后使用ENV['SECRET\u KEY\u BASE]将其拉入配置中
。您必须编辑/etc/profile.d/st_env.sh
文件并删除您添加的内容。然后将其移动到.rbenv vars
。然后用费加罗把车拉进来。
rake secret
SECRET_KEY_BASE: [output key from rake secret command]