无法通过乘客/阿帕奇为我的sinatra应用程序提供服务

orl*_*ybg 1 ruby apache passenger mod-rails sinatra

我有一个Sinatra应用程序,我在dev/stage中使用Thin运行,现在是时候进入生产了我开始检查如何在apache中与乘客一起服务.

我主要是跟着

http://recipes.sinatrarb.com/p/deployment/apache_with_passenger http://www.rabblemedia.net/blog/installing-rvm-ruby-on-rails-and-passenger-on-centos-6/ http:/ /sergiy.kyrylkov.name/2012/02/26/phusion-passenger-with-apache-on-rhel-6-centos-6-sl-6-with-selinux/

我的本地盒子正在运行fedora 16,apache 2.2,ruby 1.9+

我安装了乘客

gem install passenger
Run Code Online (Sandbox Code Playgroud)

然后

passenger-install-apache2-module
Run Code Online (Sandbox Code Playgroud)

几乎按照指示,如添加乘客模块

#mod_rails passenger
LoadModule passenger_module /home/orlybg/.gem/ruby/1.9.1/gems/passenger-4.0.5/libout/apache2/mod_passenger.so
PassengerRoot /home/orlybg/.gem/ruby/1.9.1/gems/passenger-4.0.5
PassengerDefaultRuby /usr/bin/ruby
Run Code Online (Sandbox Code Playgroud)

这是我的vhost:

<VirtualHost *:80>
DocumentRoot "/var/www/html/billomatic"
ServerName billomatic
RailsEnv development

<Directory "/var/www/html/billomatic">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

LogLevel debug
ErrorLog "/var/log/httpd/billomatic-error_log"
CustomLog "/var/log/httpd/billomatic-access_log" common
Run Code Online (Sandbox Code Playgroud)

和我的config.ru

require 'rubygems'
require 'sinatra'
set :environment, ENV['RACK_ENV'].to_sym
disable :run, :reload
require File.join(File.dirname(__FILE__), 'bill-o-matic.rb')
run Sinatra::Application
Run Code Online (Sandbox Code Playgroud)

我打的时候

http://billomatic/ 
Run Code Online (Sandbox Code Playgroud)

我得到Fedora页面的默认apache,首先是抱怨的错误日志

==> billomatic_error.log <==
[Wed Jun 05 12:45:42 2013] [error] [client 127.0.0.1] Directory index forbidden by Options directive: /var/www/html/billomatic/
Run Code Online (Sandbox Code Playgroud)

但后来我只给了billomatic目录755许可,并且没有日志再出现,在一般的apache日志中,当我重新启动时我看到了这一点:

==> error_log <==
[Wed Jun 05 15:27:50 2013] [warn] module passenger_module is already loaded, skipping
[Wed Jun 05 15:27:50 2013] [notice] Digest: generating secret for digest authentication ...
[Wed Jun 05 15:27:50 2013] [notice] Digest: done
[ 2013-06-05 15:27:50.6784 6952/7f2f3be64740 agents/Watchdog/Main.cpp:440 ]: Options: { 'analytics_log_user' => 'nobody', 'default_group' => 'nobody', 'default_python' => 'python', 'default_ruby' => '/usr/bin/ruby', 'default_user' => 'nobody', 'log_level' => '0', 'max_instances_per_app' => '0', 'max_pool_size' => '6', 'passenger_root' => '/home/orlybg/.gem/ruby/1.9.1/gems/passenger-4.0.5', 'pool_idle_time' => '300', 'temp_dir' => '/tmp', 'union_station_gateway_address' => 'gateway.unionstationapp.com', 'union_station_gateway_port' => '443', 'user_switching' => 'true', 'web_server_pid' => '6951', 'web_server_type' => 'apache', 'web_server_worker_gid' => '48', 'web_server_worker_uid' => '48' }
[ 2013-06-05 15:27:50.6964 6955/7f8f0d25b740 agents/HelperAgent/Main.cpp:555 ]: PassengerHelperAgent online, listening at unix:/tmp/passenger.1.0.6951/generation-0/request
[ 2013-06-05 15:27:50.7037 6952/7f2f3be64740 agents/Watchdog/Main.cpp:564 ]: All Phusion Passenger agents started!
[ 2013-06-05 15:27:50.7071 6960/7f29a108e840 agents/LoggingAgent/Main.cpp:271 ]: PassengerLoggingAgent online, listening at unix:/tmp/passenger.1.0.6951/generation-0/logging
[Wed Jun 05 15:27:50 2013] [notice] mod_python: Creating 4 session mutexes based on 256 max processes and 0 max threads.
[Wed Jun 05 15:27:50 2013] [notice] mod_python: using mutex_directory /tmp 
[Wed Jun 05 15:27:50 2013] [notice] Apache/2.2.23 (Unix) DAV/2 Phusion_Passenger/4.0.5 PHP/5.4.11 mod_python/3.3.1 Python/2.7.3 mod_perl/2.0.5 Perl/v5.14.3 configured -- resuming normal operations
Run Code Online (Sandbox Code Playgroud)

我跑的时候

passenger-memory-stats
Run Code Online (Sandbox Code Playgroud)

我明白了:

--------- Apache processes ---------
PID   PPID  VMSize    Private  Name
------------------------------------
7362  1     380.0 MB  ?        /usr/sbin/httpd -k start
7381  7362  380.1 MB  ?        /usr/sbin/httpd -k start
7382  7362  380.1 MB  ?        /usr/sbin/httpd -k start
7383  7362  380.0 MB  ?        /usr/sbin/httpd -k start
7384  7362  380.0 MB  ?        /usr/sbin/httpd -k start
7385  7362  380.1 MB  ?        /usr/sbin/httpd -k start
7386  7362  380.0 MB  ?        /usr/sbin/httpd -k start
7387  7362  380.0 MB  ?        /usr/sbin/httpd -k start
7388  7362  380.1 MB  ?        /usr/sbin/httpd -k start
### Processes: 9
### Total private dirty RSS: 0.00 MB (?)


-------- Nginx processes --------

### Processes: 0
### Total private dirty RSS: 0.00 MB


---- Passenger processes -----
PID   VMSize    Private  Name
------------------------------
7363  209.8 MB  ?        PassengerWatchdog
7366  491.1 MB  ?        PassengerHelperAgent
7371  145.5 MB  ?        PassengerLoggingAgent
### Processes: 3
### Total private dirty RSS: 0.00 MB (?)

*** WARNING: Please run this tool as root. Otherwise the private dirty RSS of processes cannot be determined.
Run Code Online (Sandbox Code Playgroud)

我执行时有什么奇怪的

passenger-status
Run Code Online (Sandbox Code Playgroud)

我得到:错误:Phusion Passenger似乎没有运行.

此外,当我尝试使用sudo运行最后一个命令时,系统说没有找到该命令.

关于我遗失/做错的任何线索?

提前致谢.

更新:我也禁用了SELinux,并在我的sinatra项目目录中添加了tmp/restart.txt.

dra*_*eus 7

更改DocumentRoot "/var/www/html/billomatic"DocumentRoot "/var/www/html/billomatic/public"

<Directory "/var/www/html/billomatic"><Directory "/var/www/html/billomatic/public">