Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails应用程序仅显示乘客的公共目录_Ruby On Rails_Apache_Ruby On Rails 4_Apache2_Passenger - Fatal编程技术网

Ruby on rails Rails应用程序仅显示乘客的公共目录

Ruby on rails Rails应用程序仅显示乘客的公共目录,ruby-on-rails,apache,ruby-on-rails-4,apache2,passenger,Ruby On Rails,Apache,Ruby On Rails 4,Apache2,Passenger,当我转到url时,我的rails应用程序将只显示公共目录。 我正在使用apache、passenger和ubuntu。 我的apache virtualhosts文件是 <VirtualHost *:80> ServerName www.phusion.nl DocumentRoot /websites/phusion <Directory /websites/phusion> Allow from all </Dir

当我转到url时,我的rails应用程序将只显示公共目录。 我正在使用apache、passenger和ubuntu。 我的apache virtualhosts文件是

<VirtualHost *:80>
    ServerName www.phusion.nl
    DocumentRoot /websites/phusion
    <Directory /websites/phusion>
        Allow from all
    </Directory>

    # These have been added:
    Alias /subapp /websites/rails/public
    <Location /subapp>
        PassengerBaseURI /subapp
        PassengerAppRoot /websites/rails
    </Location>
    <Directory /websites/rails/public>
        Allow from all
        Options -MultiViews
    </Directory>
</VirtualHost>
我在apache2.conf中添加了以下内容:

LoadModule passenger_module /home/vps/.rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.35/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
   PassengerRoot /home/vps/.rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.35
   PassengerDefaultRuby /home/vps/.rvm/gems/ruby-2.0.0-p353/wrappers/ruby
</IfModule>

此问题可能是由于您安装乘客模块的方式造成的

错误方向:sudo乘客安装-apache2-module

右向:rvmsudo乘客-安装-apache2-模块

我只是猜测您使用了导致此问题的第一个选项,如果我错了,请纠正我。

duh


我已将
PassengerAppRoot
设置为公用文件夹,而不是
rails
root。

能否提供服务器上rails应用程序的完整路径?是否确实要将应用程序部署到子URI?它必须是子URI。完整路径是/var/www/subappWhy目录指向
/websites/rails/public
,如果你的应用程序位于
/var/www/subapp
?它不在,只是一个例子。如果你能给我们一个配置文件的真实内容,那就太好了。我是用rvmsudohello安装的,你能详细说明你做了什么来解决这个问题吗?我的情况与此类似仅供参考,我正在使用AWS+OpsWorks。。。不知道你在做什么
LoadModule passenger_module /home/vps/.rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.35/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
   PassengerRoot /home/vps/.rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.35
   PassengerDefaultRuby /home/vps/.rvm/gems/ruby-2.0.0-p353/wrappers/ruby
</IfModule>
    All Phusion Passenger agents started!
    [ 2014-01-19 09:05:23.8076 12140/7f1e3695c740 agents/Watchdog/Main.cpp:526 ]: 
Options: { 'analytics_log_user' => 'nobody', 'default_group' => 'nogroup', 'default_python' => 'python', 'default_ruby' => '/home/vps/.rvm/gems/ruby-2.0.0-p353/wrappers/ruby', 'default_user' => 'nobody', 'log_level' => '0', 'max_pool_size' => '6', 'passenger_root' => '/home/vps/.rvm/gems/ruby-2.0.0-p353/gems/passenger-4.0.35', 'passenger_version' => '4.0.35', 'pool_idle_time' => '300', 'temp_dir' => '/tmp', 'union_station_gateway_address' => 'gateway.unionstationapp.com', 'union_station_gateway_port' => '443', 'user_switching' => 'true', 'web_server_passenger_version' => '4.0.35', 'web_server_pid' => '12137', 'web_server_type' => 'apache', 'web_server_worker_gid' => '33', 'web_server_worker_uid' => '33' }