0

我最近使用 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 应用程序指向 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 应用程序“示例”的根目录是

/srv/www/example.com/application/example/

我感觉 DocumentRoot 行可能有问题

我的乘客.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

为此工作:)

4

0 回答 0