【问题标题】:Running Rails on Apache2在 Apache2 上运行 Rails
【发布时间】:2012-11-07 10:16:06
【问题描述】:

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

现在我想在这个 VPS 上运行多个站点我正在使用当前配置,该配置适用于纯 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。

任何帮助将不胜感激。

【问题讨论】:

标签: ruby-on-rails deployment apache2 passenger


【解决方案1】:

这一行:

<VirtualHost *:80>

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

如果你改成这样:

<VirtualHost www.myawesomeurl.com:80>

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

我想你想要这样的东西:

# 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 页面或任何您想要的东西。

【讨论】:

  • 在此之后我是否必须运行 rails 服务器?
  • 不,passenger 将自动启动并保持您的 rails 服务器运行
  • 所以如果我从目录中删除 index.htm 它应该可以工作吗?但是当我这样做时,它给了我-禁止您无权访问此服务器上的/。 Apache/2.2.14 (Ubuntu) 服务器位于 datumpoint.bizmodev.com 端口 80
  • 你安装了passenger吗?乘客配置了吗?
  • 是的,乘客已安装,我也运行 - 乘客启动,看起来它正在运行,因为它提供以下内容 - ============== Phusion Passenger Standalone web服务器启动 =============== PID 文件:/root/passenger.3000.pid 日志文件:/root/passenger.3000.log 环境:开发可通过:0.0.0.0:3000 访问按 Ctrl-C 停止 Phusion Passenger Standalone。
猜你喜欢
  • 2021-11-13
  • 1970-01-01
  • 2012-02-16
  • 1970-01-01
  • 2014-05-16
  • 1970-01-01
  • 2015-03-17
  • 2018-05-13
  • 1970-01-01
相关资源
最近更新 更多