如何在ubuntu 11.10 for rails app中配置apache乘客

时间:2012-10-04 18:49:33

标签: apache passenger

我正在使用linode vps来部署rails应用程序我已经成功安装了ruby和rails,mysql和apache与乘客。

这是我在/ etc / host

中的主机文件
     127.0.0.1                          localhost.localdomain localhost
     198.58.100.126                     foo.qitch1.com       foo

我还在httpd.conf文件

中安装乘客之后复制了一些行
   LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/passenger-3.0.17/ext/apache2/mod_passenger.so

   PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p194@global/gems/passenger-3.0.17

  PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p194@global/ruby

包含在apache2.conf中

现在我使用名称generate_pdf.com在/ atc / apache2 / sites_available中创建文件

其中generate_pdf是我的app的名称。此文件包含代码

         NameVirtualHost *:80

 <VirtualHost *:80>
   ServerName aziz.qitch1.com
   DocumentRoot /var/www/generate_pdf/public
   RailsEnv production
   <Directory /var/www/generate_pdf/public>
    Allow from all
    Options -MultiViews
    </Directory>
</VirtualHost>

但当我启动服务器时,我访问此网址aziz.qitch1.com

没有加载,我在shell中有这个

     NameVirtualHost *:80 has no VirtualHosts

请帮助

1 个答案:

答案 0 :(得分:0)

我正在处理一个相关问题,遇到了http://old.thoughtsincomputation.com/posts/using-phusion-passenger-and-apache2-on-ubuntu-with-rvm-and-gemsets,建议将VirtualHost代码放在/etc/apache2/conf.d/virtual.conf中。这解决了我的问题,也可以帮助你。

请注意,我没有文章使用的IfModule,我的VirtualHost代码如下:

<VirtualHost *:80>
   ServerName www.yournamehere.com
   # !!! Be sure to point DocumentRoot to 'public'!
   DocumentRoot /rails_app_folder/app_name/public
   <Directory /rails_app_folder/app_name/public>
      # This relaxes Apache security settings.
      AllowOverride all
      # MultiViews must be turned off.
      Options -MultiViews
   </Directory>
</VirtualHost>