Question

I am trying to setup redmine on my server which is Redhat 6.2 I intend it to run with Nginx using thin ruby gem. I was following http://www.redmine.org/projects/redmine/wiki/HowTo_configure_Nginx_to_run_Redmine I did following things

gem install thin

thin install

this gives me init script under /etc/rc.d/thin The YML file config is as follows:

---
chdir: /app/redmine-root/
environment: development
address: 0.0.0.0
port: 5000
timeout: 30
log: log/thin.log
pid: tmp/pids/thin.pid
max_conns: 1024
max_persistent_conns: 100
require: []
wait: 30
servers: 4 
daemonize: true

Now when I do /etc/rc.d/thin start it shows

Starting server on 0.0.0.0:5000 ... 
Starting server on 0.0.0.0:5001 ... 
Starting server on 0.0.0.0:5002 ... 
Starting server on 0.0.0.0:5003 ... 

but when I see pids under /app/redmine-root/tmp/pids there are no Pids.

therefore, I can't see any service running. This is issue number 1

Second thing I'd like to ask that, in Nginx conf as suggested by the above link the upstream block is like as follows:

upstream thin_cluster {
    server unix:/tmp/thin.0.sock;
    server unix:/tmp/thin.1.sock;
    server unix:/tmp/thin.2.sock;
    server unix:/tmp/thin.3.sock;
}

But the pid file is in /app/redmine-root/tmp/pids should this work?

Third, At the time of Install I marked the env as production

RAILS_ENV=production rake db:migrate

But whenever I do thin config -C /etc/thin/redmine.yml it changes to development.

Please note that I have RVM also. And the user & owner of /app/redmine-root/ is apache. My nginx runs with apache and I am trying to run thin also as apache.

I have no background in Ruby. Any help is much appreciated.

EDIT

After suggestions, I found this in log.

/usr/local/lib/ruby/gems/2.0.0/gems/thin-1.5.1/lib/thin/backends/tcp_server.rb:16:in `connect': cannot load such file -- thin/connection (LoadError)
        from /usr/local/lib/ruby/gems/2.0.0/gems/thin-1.5.1/lib/thin/backends/base.rb:55:in `block in start'
        from /usr/local/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `call'
        from /usr/local/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run_machine'
        from /usr/local/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/lib/eventmachine.rb:187:in `run'
        from /usr/local/lib/ruby/gems/2.0.0/gems/thin-1.5.1/lib/thin/backends/base.rb:63:in `start'
        from /usr/local/lib/ruby/gems/2.0.0/gems/thin-1.5.1/lib/thin/server.rb:159:in `start'
        from /usr/local/lib/ruby/gems/2.0.0/gems/thin-1.5.1/lib/thin/controllers/controller.rb:86:in `start'
        from /usr/local/lib/ruby/gems/2.0.0/gems/thin-1.5.1/lib/thin/runner.rb:187:in `run_command'
        from /usr/local/lib/ruby/gems/2.0.0/gems/thin-1.5.1/lib/thin/runner.rb:152:in `run!'
        from /usr/local/lib/ruby/gems/2.0.0/gems/thin-1.5.1/bin/thin:6:in `<top (required)>'
        from /usr/local/bin/thin:23:in `load'
        from /usr/local/bin/thin:23:in `<main>'

is it because, I am trying to configure on UNIX socket or its something else??

Was it helpful?

Solution

You should add gem thin to your Gemfile

PS: see at https://github.com/macournoyer/thin/issues/115 for example.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top