使用 Ruby on Rails 配置 Apache

使用 Ruby on Rails 配置 Apache

我正在尝试大致按照以下方法安装 Tracks本指南尝试配置 Apache 时,但是尝试重新启动 Apache 时出现以下错误:

/etc/init.d/apache2: 1: RailsBaseURI: not found

我当前的虚拟主机配置是:

<VirtualHost *:80>
    ServerName tracks.localhost
    ServerAdmin webmaster@localhost

    DocumentRoot /var/lib/tracks
    <Directory /var/lib/tracks>
        Allow from all
        Options -MultiViews
    </Directory>

    RailsBaseURI /tracks
    <Directory /var/lib/tracks/public>
        Options -MultiViews
    </Directory>
</VirtualHost>

我找不到很多资源来说明其他人是否遇到过同样的问题。这听起来是不是我的 Apache Passenger 安装有问题?

编辑:如果有帮助的话,请提供一些有关我所做工作的其他信息。我删除了虚拟主机配置并卸载了以下软件包:

sudo apt-get remove libapache2-mod-passenger ruby libopenssl-ruby

我仍然得到/etc/init.d/apache2: 1: RailsBaseURI:未找到尝试启动 Apache 时。我现在甚至无法启动 Apache。Ruby on Rails 到底做了什么导致 Apache 无法启动?!

答案1

您不需要将以下指令放在 RailsBaseURI 上方吗?

RailsEnv 生产

答案2

我对您的配置有点困惑。您是否正在运行一个普通网站,然后尝试以 /tracks 身份运行 Tracks 应用程序?如果不是,您可以简单地这样做。

<VirtualHost *:80>
  ServerName localhost
  ServerAdmin webmaster@localhost

  <Directory /var/lib/tracks/public>
    Options -MultiViews
  </Directory>
</VirtualHost>

如果您尝试在现有网站内运行 Tracks,您将需要执行此操作。

sudo ln -s /webapps/tracks/public /websites/mysite/tracks

然后像这样配置Apache。

<VirtualHost *:80>
  ServerName localhost
  DocumentRoot /websites/mysite

  <Directory /websites/mysite>
    Allow from all
  </Directory>

  RailsBaseURI /tracks
    <Directory /websites/mysite/tracks>
      Options -MultiViews
    </Directory>
</VirtualHost>

答案3

你还记得吗

a2enmod passenger

答案4

检查 httpd.conf 中是否加载了乘客模块。

另请查看乘客官方文件适合您的情况。

相关内容