昨天,我在Linode买了一台服务器。我设置了Apache,RVM,Rails,MySQL并在域名上托管了一个单独的rails应用程序,遵循http://library.linode.com/frameworks/ruby-on-rails-apache/ubuntu-10.04-lucid的一个很好的指南。它还解释了如何将多个rails应用程序放在同一个域中,但是当我尝试时,当我访问我的域时遇到错误my-portal.com/adm:
No such file or directory - config/environment.rb
Application root: /srv/www/our-portal.com/public_html
有些不对劲......有人有什么想法吗?我可以很好地托管一个应用程序,但不能多个...这是我的虚拟主机设置
<VirtualHost *:80>
ServerAdmin webmaster@our-portal.com
ServerName our-portal.com
ServerAlias www.our-portal.com
DocumentRoot /srv/www/our-portal.com/public_html/
RailsBaseURI /adm
RailsBaseURI /matrix
ErrorLog /srv/www/our-portal.com/logs/error.log
CustomLog /srv/www/our-portal.com/logs/access.log combined
</VirtualHost>
我的申请路径位于/srv/www/our-portal.com/adm/,我使用
链接ln -s /srv/www/our-portal.com/adm/public/ /srv/www/our-portal.com/public_html/adm/
ln -s /srv/www/our-portal.com/matrix/public/ /srv/www/our-portal.com/public_html/matrix/
答案 0 :(得分:0)
尝试将DocumentRoot
设置为应用程序的公用文件夹:
DocumentRoot /srv/www/our-portal.org/app/public
答案 1 :(得分:0)
我得到了它,这些是我所做的改变。
<VirtualHost *:80>
ServerAdmin webmaster@our-portal.com
ServerName our-portal.com
ServerAlias www.our-portal.com
DocumentRoot /srv/www/our-portal.com/public_html
<Directory /srv/www/our-portal.com/public_html>
Allow from all
</Directory>
RailsBaseURI /adm
RailsBaseURI /matrix
<Directory /srv/www/our-portal.com/public_html/adm>
Options -MultiViews
</Directory>
<Directory /srv/www/our-portal.com/public_html/matrix>
Options -MultiViews
</Directory>
ErrorLog /srv/www/our-portal.com/logs/error.log
CustomLog /srv/www/our-portal.com/logs/access.log combined
</VirtualHost>
我也相信我的链接创建不正确。它有助于输入
ln -s
并双击tab(不执行命令)以查看Unix处理此函数路径的正确方法。我的链接看起来像这样
ln -s /srv/www/our-portal.com/adm/public/ our-portal.com/public_html/adm
ln -s /srv/www/our-portal.com/sitedb-pro/public/ our-portal.com/public_html/matrix
请注意与旧链接的区别。使用双击选项卡,我能够正确引用这些文件夹。