我乘客/ sinatra / apache做错了什么....?

时间:2012-01-01 05:01:20

标签: ruby sinatra passenger rack

我以前从未部署过应用程序,现在我无法将其显示在我的domain.com上

我的服务器是liquidweb,它有apache2

我做了gem install passenger

我运行passenger-install-apache2-module并正确安装了所有内容。

我以root身份登录并将以下内容添加到httpd.conf:

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.11
PassengerRuby /usr/local/bin/ruby

我也添加了这个,但是这个(在下面粘贴它)是我感到困惑的地方。在下面的部分,是虚拟主机应该相对于ROOT或实际域根的路径。例如,我的应用程序公共目录的路径的绝对根是/home/why/app/public ...但是从帐户root只有/app/public我不知道要放哪个。此外,它是否必须进入public_html?现在我把app文件夹放在域的根目录中,而不是在public_html

<VirtualHost *:80>
    ServerName www.domain.org
    DocumentRoot /home/why/app/public
    <Directory /home/why/app/public>
        Allow from all
        Options -MultiViews
    </Directory>
</VirtualHost>

当我访问domain.org时,它只显示默认页面...

Index of /
Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Phusion_Passenger/3.0.11 Server at www.domain.org Port 80

我还需要做其他事吗?每个人都说这很容易,它根本不会加载。此外,我对httpd.conf所做的所有更改都重新启动了apache,但仍无济于事。

我正在使用sinatra。继承人我的config.ru。注释掉的部分是我的config.ru的本地版本,如果我运行rackup config.ru

,它可以正常工作
#require File.dirname(__FILE__) + "/main"
#run Sinatra::Application

require 'sinatra'

Sinatra::Application.default_options.merge!(
  :run => false,
  :env => ENV['RACK_ENV']
)

require 'main'
run Sinatra.application

不确定还有什么要做...谢谢!

1 个答案:

答案 0 :(得分:0)

原来是因为我正在使用cpanel / whm,我必须做一些额外的步骤来访问* .conf include .. http://www.karlrixon.co.uk/writing/editing-virtualhost-settings-in-whm-cpanel/

这是必须进入userdata文件夹中的* .conf

DocumentRoot /home/why/app/public
  <Directory /home/why/app/public>
    Allow from all
    Options -MultiViews
  </Directory>
相关问题