Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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 乘客+;阿帕奇&x2B;红宝石_Ruby On Rails_Ruby_Apache_Passenger_Gcloud - Fatal编程技术网

Ruby on rails 乘客+;阿帕奇&x2B;红宝石

Ruby on rails 乘客+;阿帕奇&x2B;红宝石,ruby-on-rails,ruby,apache,passenger,gcloud,Ruby On Rails,Ruby,Apache,Passenger,Gcloud,跑步后 sudo service apache2 restart 我有 [Thu Dec 04 15:30:37 2014] [warn] module passenger_module is already loaded, skipping Syntax error on line 274 of /etc/apache2/apache2.conf: Invalid command 'PassengerDefaultRuby', perhaps misspelled or defined by

跑步后

sudo service apache2 restart
我有

[Thu Dec 04 15:30:37 2014] [warn] module passenger_module is already loaded, skipping
Syntax error on line 274 of /etc/apache2/apache2.conf:
Invalid command 'PassengerDefaultRuby', perhaps misspelled or defined by a module not included in          the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
 failed!
在apache.conf的末尾,我有:(这是我在passenger-install-apache2-module之后得到的行)

现在我有一个错误:

ruslan@olga-blog:~$ sudo service apache2 restart
Syntax error on line 273 of /etc/apache2/apache2.conf:
Invalid command 'PassengerDefaultRuby', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
 failed!
因此,我在apache日志的末尾看到了tail-f-n100/var/log/apache2/error.log(FIR05-现在是,所以是最新的日志):

UPD2: 我在我的应用程序/config/secrets.yml中添加了密钥

删除日志文件并创建它

sudo rm -rf /var/log/apache2/error.log
sudo touch /var/log/apache2/error.log
重新启动Apache并再次出现此错误:

ruslan@olga-blog:~/blog$ sudo service apache2 restart
Syntax error on line 273 of /etc/apache2/apache2.conf:
Invalid command 'PassengerDefaultRuby', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
 failed!
和日志都是空的

tail -f -n 100 /var/log/apache2/error.log
UPD3: 尝试: sudo智能净化libapache2模块乘客
sudo apt get install rubygems build essential apache2预工作开发人员libapr1开发人员libssl开发人员zlib1g开发人员
sudo gem安装乘客
乘客-安装-apache2-模块
将输出粘贴到apache2.conf的末尾(前面关于乘客的行已删除)

为什么?

UPD4

sudo nano /etc/apache2/mods-available/passenger.conf
看起来空荡荡的,为什么

UPD5:

apt-get install libapache2-mod-passenger
从apache.conf中删除LoadModule行 重新启动apache 还有

ruslan@olga-blog:~/blog$ sudo service apache2 restart

Syntax error on line 273 of /etc/apache2/apache2.conf:
Invalid command 'PassengerDefaultRuby', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
 failed!
UPD6:命令sudo乘客状态显示:

Version : 4.0.53
Date    : Fri Dec 05 10:34:32 +0000 2014
Instance: 1021
----------- General information -----------
Max pool size : 6
Processes     : 0
Requests in top-level queue : 0

----------- Application groups -----------
ruslan@olga-blog:~$ apachectl -t -D DUMP_MODULES|grep -i passenger
-bash: apachectl: command not found
ruslan@olga-blog:~$ apachectl configtest
-bash: apachectl: command not found

我将对这一点进行猜测,我认为问题可能在这里:

LoadModule passenger_module /home/ruslan/.rvm/gems/r$
<IfModule mod_passenger.c>
    PassengerRoot /home/ruslan/.rvm/gems/ruby-2.1.5/gem$
    PassengerDefaultRuby /home/ruslan/.rvm/gems/ruby-2.$
</IfModule>
行中的
$
可能是因为终端窗口不够宽,因此它会让您知道文本已被截断(因此您可能有正确的设置,但只是没有正确复制它们-调整终端窗口的大小或向右滚动以检查)或者,当您运行ApachePassenger安装程序并复制截断的文本而不是完整的行时,我建议您重新运行ApacheMod安装程序,确保正确捕获输出并进行尝试

希望是这样,然后这是一个简单的解决办法

更新

DocumentRoot "/Users/martin/Desktop/app_name/public"
<Directory "/Users/martin/Desktop/app_name/public">
    RailsEnv development
    Options -MultiViews
    AllowOverride all
    Allow from all
</Directory>

我将对这一点进行猜测,我认为问题可能在这里:

LoadModule passenger_module /home/ruslan/.rvm/gems/r$
<IfModule mod_passenger.c>
    PassengerRoot /home/ruslan/.rvm/gems/ruby-2.1.5/gem$
    PassengerDefaultRuby /home/ruslan/.rvm/gems/ruby-2.$
</IfModule>
行中的
$
可能是因为终端窗口不够宽,因此它会让您知道文本已被截断(因此您可能有正确的设置,但只是没有正确复制它们-调整终端窗口的大小或向右滚动以检查)或者,当您运行ApachePassenger安装程序并复制截断的文本而不是完整的行时,我建议您重新运行ApacheMod安装程序,确保正确捕获输出并进行尝试

希望是这样,然后这是一个简单的解决办法

更新

DocumentRoot "/Users/martin/Desktop/app_name/public"
<Directory "/Users/martin/Desktop/app_name/public">
    RailsEnv development
    Options -MultiViews
    AllowOverride all
    Allow from all
</Directory>
我重新安装了所有组件(仅通过rubygems安装),它工作正常。 因此,这就是我的“如何安装passenger+apache+ruby”:

  • 安装apache:

    sudoapt安装apache2

  • 安装rvm

    \curl-sSL | bash-s稳定

  • 通过rubygems安装乘客:

    gem安装乘客

  • 运行Phusion乘客安装程序

    乘客-安装-apache2-模块

  • LoadModule passenger_module /home/ruslan/.rvm/gems/r$
    <IfModule mod_passenger.c>
     PassengerRoot /home/ruslan/.rvm/gems/ruby-2.1.5/gem$
     PassengerDefaultRuby /home/ruslan/.rvm/gems/ruby-2.$
    </IfModule>
    
  • 像这样创建你的rack应用程序

  • 将虚拟主机块添加到/etc/apache2/sites enabled/rack_app

  • 使用PassengerRoot创建/etc/apache2/mods enabled/passenger.conf, 客座酒店

  • 使用LoadModule创建/etc/apache2/mods enabled/passenger.load 挡块

    sudo a2ensite rack_应用程序 sudo a2enmod乘客 sudo服务apache2重启

  • 玩得开心

    有关更多详细信息,请参阅/etc/apache2/apache2.conf中的注释,

    我重新安装了所有组件(仅通过rubygems乘客版),并且工作正常。 因此,这就是我的“如何安装passenger+apache+ruby”:

  • 安装apache:

    sudoapt安装apache2

  • 安装rvm

    \curl-sSL | bash-s稳定

  • 通过rubygems安装乘客:

    gem安装乘客

  • 运行Phusion乘客安装程序

    乘客-安装-apache2-模块

  • LoadModule passenger_module /home/ruslan/.rvm/gems/r$
    <IfModule mod_passenger.c>
     PassengerRoot /home/ruslan/.rvm/gems/ruby-2.1.5/gem$
     PassengerDefaultRuby /home/ruslan/.rvm/gems/ruby-2.$
    </IfModule>
    
  • 像这样创建你的rack应用程序

  • 将虚拟主机块添加到/etc/apache2/sites enabled/rack_app

  • 使用PassengerRoot创建/etc/apache2/mods enabled/passenger.conf, 客座酒店

  • 使用LoadModule创建/etc/apache2/mods enabled/passenger.load 挡块

    sudo a2ensite rack_应用程序 sudo a2enmod乘客 sudo服务apache2重启

  • 玩得开心


    有关更多详细信息,请参阅/etc/apache2/apache2.conf中的评论,

    感谢您的回复!不,$-被nano截断,我更新了我的答案(见UPD3)啊,这几乎使我的答案毫无用处,然后,我会发布我的目录设置,看看是否有帮助。谢谢回复!不,$-被nano截断了,我更新了我的答案(见UPD3)啊,这几乎使我的答案毫无用处,然后,我会发布我的目录设置,看看是否有帮助。
    Version : 4.0.53
    Date    : Fri Dec 05 10:34:32 +0000 2014
    Instance: 1021
    ----------- General information -----------
    Max pool size : 6
    Processes     : 0
    Requests in top-level queue : 0
    
    ----------- Application groups -----------
    ruslan@olga-blog:~$ apachectl -t -D DUMP_MODULES|grep -i passenger
    -bash: apachectl: command not found
    ruslan@olga-blog:~$ apachectl configtest
    -bash: apachectl: command not found
    
    LoadModule passenger_module /home/ruslan/.rvm/gems/r$
    <IfModule mod_passenger.c>
        PassengerRoot /home/ruslan/.rvm/gems/ruby-2.1.5/gem$
        PassengerDefaultRuby /home/ruslan/.rvm/gems/ruby-2.$
    </IfModule>
    
    LoadModule passenger_module /Users/martin/.rbenv/versions/1.8.7-p374/lib/ruby/gems/1.8/gems/passenger-4.0.21/buildout/apache2/mod_passenger.so
    PassengerRoot /Users/martin/.rbenv/versions/1.8.7-p374/lib/ruby/gems/1.8/gems/passenger-4.0.21
    PassengerDefaultRuby /Users/martin/.rbenv/versions/1.8.7-p374/bin/ruby
    
    DocumentRoot "/Users/martin/Desktop/app_name/public"
    <Directory "/Users/martin/Desktop/app_name/public">
        RailsEnv development
        Options -MultiViews
        AllowOverride all
        Allow from all
    </Directory>
    
    apachectl configtest
    cat /var/log/apache2/error_log
    
    sudo passenger-status
    apachectl -t -D DUMP_MODULES|grep -i passenger