在Ubuntu 11.04上设置Passenger Phusion

时间:2011-08-23 10:48:47

标签: ruby-on-rails ruby apache2 passenger phusion

我对那些曾经说过“在轨道应用程序上部署红宝石”的任何人都非常感到愤怒。不,这不对。这是我必须做的最困难的事情,我开发了操作系统。

呼。现在那就出来了。我终于安装了乘客(使用低音安装过程),安装人员说:

请编辑您的apache配置文件并添加以下行:

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.2-p290@rails-3.0.1/gems/passenger-3.0.8/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-1.9.2-p290@rails-3.0.1/gems/passenger-3.0.8
PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.2-p290@rails-3.0.1/ruby

假设您在/某处有一个Rails应用程序。添加虚拟主机到您的 Apache配置文件并将其DocumentRoot设置为/ somewhere / public:

   <VirtualHost *:80>
      ServerName www.yourhost.com
      DocumentRoot /somewhere/public    # <-- be sure to point to 'public'!
      <Directory /somewhere/public>
         AllowOverride all              # <-- relax Apache security settings
         Options -MultiViews            # <-- MultiViews must be turned off
      </Directory>
   </VirtualHost>

我将这两个放在/etc/apache2/apache2.conf中,当我尝试启动apache时,它说错误就是我把这个垃圾放到了哪一行。非常感谢帮助。我快到了,我能感觉到它!

尼克

2 个答案:

答案 0 :(得分:1)

成功安装Apache 2模块后,请按照下一组步骤配置Apache。

  1. 在/ etc / apache2 / mods-available

    中创建以下两个文件

    mkdir /etc/apache2/mods-available/passenger.load

  2. 在passenger.load文件中粘贴以下代码

    LoadModule passenger_module /usr/lib/ruby/gems/1.9.2(your version)/gems
    /passenger-3.0.2/ext/apache2/mod_passenger.so
    

    mkdir /etc/apache2/mods-available/passenger.conf

    在passenger.conf文件中粘贴以下代码

    PassengerRoot /usr/lib/ruby/gems/1.9.2/gems/passenger-3.0.2
    PassengerRuby /usr/bin/ruby1.9.2
    

    2。通过在/ etc / apache2 / mods-enabled

    中创建以下符号链接来启用模块
    $ ln -s /etc/apache2/mods-available/passenger.load /etc/apache2/mods-enabled/passenger.load
    $ ln -s /etc/apache2/mods-available/passenger.conf /etc/apache2/mods-enabled/passenger.conf
    

    3.现在通过将以下内容添加到/ etc / apache2 / sites-enabled中的000-default文件来创建虚拟主机。

    <Directory /var/www/your_app>
             RailsBaseURI /your_app
             RailsEnv development
             AllowOverride all
             Options -MultiViews
             allow from all
    </Directory>
    
    1. 现在创建应用程序的软链接,确保您的应用程序必须位于/ opt中。您可以为应用程序创建单独的文件夹。

      我。 $ sudo mkdir -p / opt / rails_apps

      II。 $ sudo cp -R / path / to / your_app / / opt / rails_apps /

      III。 $ sudo ln -s / opt / rails_apps / your_app / public / / var / www / your_app

    2. 然后使用以下命令重启apache。

      /etc/init.d/apache2 restart

答案 1 :(得分:1)

如果您已逐字地包含以下内容,则在重新启动Apache时会收到错误消息:

AllowOverride all              # <-- relax Apache security settings
Options -MultiViews            # <-- MultiViews must be turned off

它吐出的错误是:

user@my_server:~/your_site# sudo /etc/init.d/apache restart
Syntax error on line 11 of /etc/apache2/sites-enabled/your_site:
Illegal override option #
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!
root@my_server:~/your_site#

修复?删除后面的注释行,如下所示:

AllowOverride all
Options -MultiViews

希望这有帮助!