linode,rails,apache,passenger-site指向example.com:3000而不是example.com

时间:2011-07-02 08:56:52

标签: ruby-on-rails deployment passenger linode

我最近使用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

为此起作用:)

0 个答案:

没有答案