如何在CentOs上使用Passenger和Apache激活Rails

时间:2015-02-25 06:14:55

标签: ruby-on-rails apache passenger

我几个小时都在苦苦挣扎。这是我第一次尝试建立服务器。

我安装了rails,passenger和apache。 在httpd.conf中这是我写的:

ServerRoot "/etc/httpd"
# Here I wrote the IP address, since I still did not manage the DNS
Listen ##.##.##.94:80
ServerAdmin root@localhost
ServerName ##.##.##.94:80 # Do I need this?

<Directory />
    AllowOverride none
    Require all denied
    Options Indexes FollowSymLinks Includes ExecCGI
</Directory>

<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p551/gems/passenger-4.0.59/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p551/gems/passenger-4.0.59
     PassengerDefaultRuby /usr/local/rvm/gems/ruby-1.9.3-p551/wrappers/ruby
   </IfModule>

<VirtualHost *:80>
      ServerName ##.##.##.##
      # !!! Be sure to point DocumentRoot to 'public'!
      DocumentRoot /var/www/blah_blah/public_html/public
      <Directory  /var/www/blah_blah/public_html>
         # This relaxes Apache security settings.
         AllowOverride all
         # MultiViews must be turned off.
         Options -MultiViews
         # Uncomment this if you're on Apache >= 2.4:
         Require all granted
      </Directory>
</VirtualHost>

最后一节是由乘客制作的(我没有!从说明中复制它:-))。

当我转到IP地址时,我收到一个错误,指出找不到该页面。

我有使用“rails s”运行的rails。在此之前,我重新加载服务器并重新启动它以使配置文件生效。 另外,我授予了www文件夹的apache用户权限。

有什么问题?

我甚至尝试将index.html文件放在rails的公共文件夹中并尝试去那里,但是失败了。

顺便说一句 - 当我从控制台进行操作时:

wget http://0.0.0.0:3000

我得到200响应,这意味着它没问题。

错误在哪里?

1 个答案:

答案 0 :(得分:-1)

我认为你应该改变端口:

<VirtualHost *:3000>

因为当你运行rails s时,它会在端口3000上运行。