Project

General

Profile

Application error Rails application failed to start properly issue

Added by Oscar Morao almost 3 years ago

Hi all,

I've already installed redmine and ran with webrick.

When deployed trying to use mod_fcgi (Shared) I'm always getting this Apache error.

[Mon Nov 29 16:37:23.314074 2021] [core:error] [pid 29933:tid 46975154824960] [client 189.120.74.xxx:23788] End of script output before headers: dispatch.fcgi
/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- bundler/setup (LoadError)
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/grupo859/public_html/redmine/config/boot.rb:6:in `<top (required)>'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
from dispatch.fcgi:5:in `<main>'
[Mon Nov 29 16:38:16.983260 2021] [fcgid:warn] [pid 29987:tid 46975123306240] (104)Connection reset by peer: [client 189.120.74.xxx:23821] mod_fcgid: error reading data from FastCGI server
[Mon Nov 29 16:38:16.983351 2021] [core:error] [pid 29987:tid 46975123306240] [client 189.120.74.xxx:23821] End of script output before headers: dispatch.fcgi

In google chrome I got this message.

Application error
Rails application failed to start properly

For this config, I've added a gem 'fcgi' to handle the setup, but seems there's something wrong.

This is my .htaccess
  1. General Apache options
    <IfModule mod_fastcgi.c>
    AddHandler fastcgi-script .fcgi
    </IfModule>
    <IfModule mod_fcgid.c>
    AddHandler fcgid-script .fcgi
    </IfModule>
    Options +FollowSymLinks +ExecCGI
  1. If you don't want Rails to look in certain directories,
  2. use the following rewrite rules so that Apache won't rewrite certain requests #
  3. Example:
  4. RewriteCond %{REQUEST_URI} ^/notrails.*
  5. RewriteRule .* - [L]
  1. Redirect all requests not available on the filesystem to Rails
  2. By default the cgi dispatcher is used which is very slow #
  3. For better performance replace the dispatcher with the fastcgi one #
  4. Example:
  5. RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
    RewriteEngine On
  1. If your Rails application is accessed via an Alias directive,
  2. then you MUST also set the RewriteBase in this htaccess file. #
  3. Example:
  4. Alias /myrailsapp /path/to/myrailsapp/public
    #RewriteBase /redmine

RewriteRule $ index.html [QSA]
RewriteRule ^([
.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
<IfModule mod_fastcgi.c>
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</IfModule>
<IfModule mod_fcgid.c>
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</IfModule>

  1. In case Rails experiences terminal errors
  2. Instead of displaying this message you can supply a file here which will be rendered instead #
  3. Example:
  4. ErrorDocument 500 /500.html

ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"

#!/usr/bin/ruby

My dispatch file. I've checked my folders and I have a /usr/bin/ruby file.

require File.dirname(FILE) + '/../config/boot'
require File.dirname(FILE) + '/../config/environment'

class Rack::PathInfoRewriter
def initialize(app)
@app = app
end

def call(env)
env.delete('SCRIPT_NAME')
parts = env['REQUEST_URI'].split('?')
env['PATH_INFO'] = parts[0]
env['QUERY_STRING'] = parts[1].to_s
@app.call(env)
end
end

Rack::Handler::FastCGI.run Rack::PathInfoRewriter.new(RedmineApp::Application)

I don't know what else can I try. I've changed a lot of parameters in the dispatcher and didn't find a solution on internet.

Any help please?