在Apache2上运行Rails

时间:2012-11-07 10:16:07

标签: ruby-on-rails deployment apache2 passenger

我有一个linode服务器,并且使用webrick运行一个单独的网站用于开发目的,现在我想将它投入生产并使用已经安装的Apache2并运行经典的It Work!预期的页面。

现在我想在这个VPS上运行多个站点我正在使用当前配置,这对于striaght HTML工作正常但不会运行Web应用程序,除非我在另一个端口(rails s -p3500等)上运行它们,因为端口80是已经被Apache接受了。

<VirtualHost *:80>
  ServerName datumpoint.bizmodev.com
  # ServerAlias *.example.com
  DocumentRoot /var/www.bizmodev.com
  <Directory "/var/www.bizmodev.com">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

<VirtualHost *:80>
  ServerName homehounduk.co.uk
  ServerAlias *.homehounduk.co.uk
  DocumentRoot /var/www.homehounduk.co.uk
  <Directory "/var/www.homehounduk.co.uk">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

我是否需要使用乘客或其他东西才能使其正常工作?我已经尝试将虚拟主机更改为不同的端口和东西,但最终得到403。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

这一行:

<VirtualHost *:80>

你告诉你的apache它会在端口80上听任何东西

你改成这样的东西:

<VirtualHost www.myawesomeurl.com:80>

在这种情况下,您告诉Apache,端口80上来自此地址(www.myawesomeurl.com)的请求所有内容都将使用该选项。

我想你想要这样的东西:

# Basically your home, like: www.myhome.com
<VirtualHost *:80>
  ServerName datumpoint.bizmodev.com
  # ServerAlias *.example.com
  DocumentRoot /var/www.bizmodev.com
  <Directory "/var/www.bizmodev.com">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

# Your custom site
<VirtualHost www.something.com:80>
  ServerName homehounduk.co.uk
  ServerAlias *.homehounduk.co.uk
  DocumentRoot /var/www.homehounduk.co.uk
  <Directory "/var/www.homehounduk.co.uk">
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  </Directory>
</VirtualHost>

并且不要忘记将www.something.com指向与www.myhome.com相同的IP

将此与乘客相结合,你将有一个服务器运行许多rails应用程序和许多php实例或html页面或任何你想要的东西。