Umlaut Deployment with Thin and Apache

From Code4Lib
Revision as of 15:47, 7 April 2011 by Scotdalton (Talk | contribs)

Jump to: navigation, search

Instead of using mongrel, NYU is using thin. The thin configuration is almost identical to mongrel and is detailed below. The Apache configuration is exactly the same as with mongrel and is detailed at Umlaut_Deployment#Apache_Setup


First you must install the thin gem and any dependencies, including rack. We found that versions of rack later than 1.0.1 caused problems.

sudo gem install thin
sudo gem install rack --version 1.0.1

Next add these two files to Umlaut. config/umlaut_config/deploy/thin_cluster.yml

# Unix account to run your processes as:
user: umlaut  

#Unix group to run processes as:
group: umlaut 

# Install dir of Umlaut you want to run from:
chdir: /apps/umlaut/
log: log/thin.log # Leave like this. 

# Start port for your instances. Any high port will do. Does NOT need need
# to be open through firewall externally. 
port: 4001
environment: production # Leave like this
address: 127.0.0.1 # Leave like this 
#address: 0.0.0.0 # Leave like this 
pid: tmp/pids/thin.pid # Leave like this

# How many instances to run. port: 8000 with servers:3 means you'll
# have a server on 8000, 8001, and 8002. 
servers: 4

# Only if  you want to start at web path other than base / :
#prefix: /getit       # for instance. Start with slash, and don't end with one.

script/local/my_thin_ctl

#!/bin/bash 
thin $1 -C /apps/umlaut/config/umlaut_config/deploy/thin_cluster.yml  

Then make the my_thin_ctl executable

chmod 755 my_thin_ctl

Finally, run

./script/local/my_thin_ctl start