我试图使用虚拟服务器方法在apache2上使用rails应用程序,这是我认为我的问题来自的地方。我尝试了独立的乘客安装(在昨天下午尝试使apache工作之后)并且工作得很好,但是我想使用apache。
Apache错误日志显示:
[Thu Jan 26 22:36:18 2012] [notice] caught SIGTERM, shutting down
[Thu Jan 26 22:36:20 2012] [notice] Apache/2.2.20 (Ubuntu) Phusion_Passenger/3.0.11 configured -- resuming normal operations
cache: [GET /videos] miss
sigterm是我重启apache。缓存未命中是我试图查看模型的页面。
虚拟主机设置
<VirtualHost *:80>
DocumentRoot /home/dave/prodspace/river/public
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/dave/prodspace/river/public/>
Options Indexes FollowSymLinks -MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
包含所有内容的文件夹是/ home / dave / prodspace / river,我已为河流/公共文件夹的www-data设置了组权限。我启用了该站点并重新启动了apache sudo a2ensite河 sudo service apache2 restart
系统规格如下: 使用rvm安装的ruby相关内容 红宝石1.9.2p290 乘客3.0.11 rails 3.2.0 apache 2.2(通过apt-get软件包安装) ubuntu 11.10(x86服务器版)
任何帮助总是受到赞赏......
答案 0 :(得分:1)
我必须经常在工作中处理这个问题。这里发挥的一些事情如下:(注意:我也在工作中使用RVM)
现在,应该注意的是乘客不会玩得很好,除非你在这里添加一点点here。
在config /目录中创建一个名为setup_load_path.rb的新文件并将其粘贴到那里:
if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm')
begin
rvm_path = File.dirname(File.dirname(ENV['MY_RUBY_HOME']))
rvm_lib_path = File.join(rvm_path, 'lib')
$LOAD_PATH.unshift rvm_lib_path
require 'rvm'
RVM.use_from_path! File.dirname(File.dirname(__FILE__))
rescue LoadError
# RVM is unavailable at this point.
raise "RVM ruby lib is currently unavailable."
end
end
现在重启你的apache,如果路由设置正确,它应该正常工作。
答案 1 :(得分:1)
未设置生产数据库。修复程序最终正在运行:
RAILS_ENV=production rake db:create db:schema:load