我最近使用ubuntu 10.04注册了linode,我使用以下指南让我开始:
一般linode设置 - http://library.linode.com/getting-started Apache安装 - http://library.linode.com/web-servers/apache/installation/ubuntu-10.04-lucid Rails部署 - http://library.linode.com/frameworks/ruby-on-rails-apache/ubuntu-10.04-lucid
但是我的rails app指向example.com:3000而不是example.com
我的/etc/apache2/sites-availabe/example.com文件如下所示:
<VirtualHost xxx.xxx.xxx.xxx:80>
ServerAdmin plato@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /srv/www/example.com/application/example/public
ErrorLog /srv/www/example.com/logs/error.log
CustomLog /srv/www/example.com/logs/access.log combined
</VirtualHost>
我的rails应用程序'example'的根目录是
/srv/www/example.com/application/example/
我觉得DocumentRoot行可能有问题
我的passenger.conf文件是:
<IfModule mod_passenger.c>
PassengerRoot /usr
PassengerRuby /usr/bin/ruby
</IfModule>
我的passenger.load文件是:
LoadModule passenger_module /usr/lib/apache2/modules/mod_passenger.so
Example.com只显示我的index.html页面,这是我公共文件夹中的普通html页面。单击它们时,其他链接都不起作用。但所有网站都在example.com:3000上运行
我出错的任何想法,我一直试图解决这个问题已经有好几个星期了?感谢
编辑:我尝试使用以下方式部署到heroku:
git push heroku master
我遇到了同样的问题(索引页面会显示但不会显示任何rails页面)。然后我跑了:
heroku rake db:migrate
现在我的应用程序正在研究heroku。如何在linode上为生产服务器执行等效操作?我可能需要在生产环境中执行rake db:migrate以使我的example.com正常工作
现在正在运作:
我跑了:
bundle exec rake db:migrate RAILS_ENV=production
为此起作用:)