我最近使用 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
为此工作:)