从应用程序Rails 4乘客错误收到不完整的响应

时间:2016-06-09 12:46:19

标签: ruby-on-rails apache passenger

我在Ubuntu 14.04 x64上有一个带有Passenger 5.0.28的Rails 4.2.6应用程序。

使用Capistrano成功部署后,我无法打开网站。我甚至找不到能够指出问题的日志文件。经过一些研究,我发现最常见的问题是缺少secret_key_base env var。

所以这是我非常简单的apache配置文件:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName my.server.com
        DocumentRoot /var/www/my_server/current/public
    PassengerRuby /home/deployer/.rvm/gems/ruby-2.2.2/wrappers/ruby
        <Directory />
                Options FollowSymLinks
                AllowOverride None
                RailsEnv staging_v4
        </Directory>
        <Directory /var/www/my_server/current/public/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                Allow from all
        Require all granted
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error-v4.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/access-v4.log combined
</VirtualHost>

当我尝试打开我的应用时看到错误: 从应用程序收到的回复不完整

记录tail -f / var / log / apache2 / *

==> /var/log/apache2/access-v4.log <==
10.0.14.224 - - [09/Jun/2016:18:47:22 +0600] "GET / HTTP/1.1" 502 343 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36"
10.0.14.224 - - [09/Jun/2016:18:47:23 +0600] "GET /favicon.ico HTTP/1.1" 200 1449 "http:/my.server.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36"

错误日志为空。

我的应用程序登录/ var / www / my_server / current / log也是空的

所以到目前为止我做了什么:

  • 我把实际的字符串放在/var/www/my_server/current/config/secrets.yml
  • 我在/ etc / profile / /home/deployer/.bash_profile,/ etc / apache2 / envvars
  • 中添加了export SECRET_KET_BASE=<string>

有什么想法?我应该从哪里收集服务器的更多信息?

1 个答案:

答案 0 :(得分:0)

我在 Rails 5.2、apache、passenger 上有类似的问题

解决方案是将这一行放在配置文件(conifg/initializers)中

Rack::Utils.multipart_part_limit = 0