Created
October 17, 2010 04:24
-
-
Save tomkersten/630535 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# File: /etc/bash.bashrc | |
# System-wide .bashrc file for interactive bash(1) shells. | |
# To enable the settings / commands in this file for login shells as well, | |
# this file has to be sourced in /etc/profile. | |
# If not running interactively, don't do anything | |
if [[ -z "$PS1" ]]; then | |
# check the window size after each command and, if necessary, | |
# update the values of LINES and COLUMNS. | |
shopt -s checkwinsize | |
# set variable identifying the chroot you work in (used in the prompt below) | |
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then | |
debian_chroot=$(cat /etc/debian_chroot) | |
fi | |
# set a fancy prompt (non-color, overwrite the one in /etc/profile) | |
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' | |
# Commented out, don't overwrite xterm -T "title" -n "icontitle" by default. | |
# If this is an xterm set the title to user@host:dir | |
#case "$TERM" in | |
#xterm*|rxvt*) | |
# PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"' | |
# ;; | |
#*) | |
# ;; | |
#esac | |
# enable bash completion in interactive shells | |
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then | |
# . /etc/bash_completion | |
#fi | |
# sudo hint | |
if [ ! -e "$HOME/.sudo_as_admin_successful" ]; then | |
case " $(groups) " in *\ admin\ *) | |
if [ -x /usr/bin/sudo ]; then | |
cat <<-EOF | |
To run a command as administrator (user "root"), use "sudo <command>". | |
See "man sudo_root" for details. | |
EOF | |
fi | |
esac | |
fi | |
# if the command-not-found package is installed, use it | |
if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found ]; then | |
function command_not_found_handle { | |
# check because c-n-f could've been removed in the meantime | |
if [ -x /usr/lib/command-not-found ]; then | |
/usr/bin/python /usr/lib/command-not-found -- $1 | |
return $? | |
elif [ -x /usr/share/command-not-found ]; then | |
/usr/bin/python /usr/share/command-not-found -- $1 | |
return $? | |
else | |
return 127 | |
fi | |
} | |
fi | |
fi | |
set -o vi | |
# Load up RVM environment | |
[[ -s "/usr/local/lib/rvm" ]] && source "/usr/local/lib/rvm" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# File: ~/.bashrc | |
# | |
# ~/.bashrc: executed by bash(1) for non-login shells. | |
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) | |
# for examples | |
# If not running interactively, don't do anything | |
if [[ -z "$PS1" ]] ; then | |
# don't put duplicate lines in the history. See bash(1) for more options | |
# ... or force ignoredups and ignorespace | |
HISTCONTROL=ignoredups:ignorespace | |
# append to the history file, don't overwrite it | |
shopt -s histappend | |
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) | |
HISTSIZE=1000 | |
HISTFILESIZE=2000 | |
# check the window size after each command and, if necessary, | |
# update the values of LINES and COLUMNS. | |
shopt -s checkwinsize | |
# make less more friendly for non-text input files, see lesspipe(1) | |
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" | |
# set variable identifying the chroot you work in (used in the prompt below) | |
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then | |
debian_chroot=$(cat /etc/debian_chroot) | |
fi | |
# set a fancy prompt (non-color, unless we know we "want" color) | |
case "$TERM" in | |
xterm-color) color_prompt=yes;; | |
esac | |
# uncomment for a colored prompt, if the terminal has the capability; turned | |
# off by default to not distract the user: the focus in a terminal window | |
# should be on the output of commands, not on the prompt | |
#force_color_prompt=yes | |
if [ -n "$force_color_prompt" ]; then | |
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then | |
# We have color support; assume it's compliant with Ecma-48 | |
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such | |
# a case would tend to support setf rather than setaf.) | |
color_prompt=yes | |
else | |
color_prompt= | |
fi | |
fi | |
if [ "$color_prompt" = yes ]; then | |
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' | |
else | |
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' | |
fi | |
unset color_prompt force_color_prompt | |
# If this is an xterm set the title to user@host:dir | |
case "$TERM" in | |
xterm*|rxvt*) | |
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" | |
;; | |
*) | |
;; | |
esac | |
# enable color support of ls and also add handy aliases | |
if [ -x /usr/bin/dircolors ]; then | |
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" | |
alias ls='ls --color=auto' | |
#alias dir='dir --color=auto' | |
#alias vdir='vdir --color=auto' | |
alias grep='grep --color=auto' | |
alias fgrep='fgrep --color=auto' | |
alias egrep='egrep --color=auto' | |
fi | |
# some more ls aliases | |
alias ll='ls -alF' | |
alias la='ls -A' | |
alias l='ls -CF' | |
# Alias definitions. | |
# You may want to put all your additions into a separate file like | |
# ~/.bash_aliases, instead of adding them here directly. | |
# See /usr/share/doc/bash-doc/examples in the bash-doc package. | |
if [ -f ~/.bash_aliases ]; then | |
. ~/.bash_aliases | |
fi | |
# enable programmable completion features (you don't need to enable | |
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile | |
# sources /etc/bash.bashrc). | |
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then | |
# . /etc/bash_completion | |
#fi | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# File: /web_apps/example_rack_app/config.ru | |
use Rack::ContentLength | |
app = lambda { |env| [200, { 'Content-Type' => 'text/html' }, 'Hello World'] } | |
run app |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# File: /etc/nginx/sites-enabled/example_rack_app | |
# Mostly yanked from: | |
# http://bit.ly/nginx-unicorn-setup | |
upstream example-rack-app { | |
# fail_timeout=0 means we always retry an upstream even if it failed | |
# to return a good HTTP response (in case the Unicorn master nukes a | |
# single worker for timing out). | |
server unix:/tmp/example_rack_app.socket fail_timeout=0; | |
} | |
server { | |
listen 80 default; | |
#charset koi8-r; | |
root /web_apps/example_rack_app; | |
access_log /var/log/nginx/example_rack_app-access.log; | |
error_log /var/log/nginx/example_rack_app-error.log; | |
rewrite_log on; | |
location / { | |
proxy_pass http://example-rack-app; | |
proxy_redirect off; | |
proxy_set_header Host $host; | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
client_max_body_size 10m; | |
client_body_buffer_size 128k; | |
proxy_connect_timeout 90; | |
proxy_send_timeout 90; | |
proxy_read_timeout 90; | |
proxy_buffer_size 4k; | |
proxy_buffers 4 32k; | |
proxy_busy_buffers_size 64k; | |
proxy_temp_file_write_size 64k; | |
index index.html index.htm; | |
} | |
# if the request is for a static resource, nginx should serve it directly | |
# and add a far future expires header to it, making the browser | |
# cache the resource and navigate faster over the website | |
location ~ ^/(images|javascripts|stylesheets|system)/ { | |
root /web_apps/example_app; | |
expires max; | |
break; | |
} | |
#error_page 404 /404.html; | |
# redirect server error pages to the static page /50x.html | |
# | |
error_page 500 502 503 504 /50x.html; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# File: /etc/monit/conf.d/example_rack_app_unicorn.conf | |
check process unicorn | |
with pidfile /web_apps/example_rack_app/pids/unicorn.pid | |
start program = "/etc/init.d/unicorn start" | |
stop program = "/etc/init.d/unicorn stop" | |
group unicorn |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# File: /etc/monit/conf.d/nginx.conf | |
check process nginx | |
with pidfile /var/run/nginx.pid | |
start program = "/etc/init.d/nginx start" | |
stop program = "/etc/init.d/nginx stop" | |
group nginx |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# File: /etc/monit/monitrc | |
############################################################################### | |
## Monit control file | |
############################################################################### | |
## | |
## Comments begin with a '#' and extend through the end of the line. Keywords | |
## are case insensitive. All path's MUST BE FULLY QUALIFIED, starting with '/'. | |
## | |
## Below you will find examples of some frequently used statements. For | |
## information about the control file and a complete list of statements and | |
## options, please have a look in the Monit manual. | |
## | |
## | |
############################################################################### | |
## Global section | |
############################################################################### | |
## | |
## Start Monit in the background (run as a daemon): | |
# | |
set daemon 60 # check services at 2-minute intervals | |
# with start delay 240 # optional: delay the first check by 4-minutes (by | |
# # default Monit check immediately after Monit start) | |
# | |
# | |
## Set syslog logging with the 'daemon' facility. If the FACILITY option is | |
## omitted, Monit will use 'user' facility by default. If you want to log to | |
## a standalone log file instead, specify the full path to the log file | |
# | |
set logfile syslog facility log_daemon | |
# | |
# | |
### Set the location of the Monit id file which stores the unique id for the | |
### Monit instance. The id is generated and stored on first Monit start. By | |
### default the file is placed in $HOME/.monit.id. | |
# | |
# set idfile /var/.monit.id | |
# | |
### Set the location of the Monit state file which saves monitoring states | |
### on each cycle. By default the file is placed in $HOME/.monit.state. If | |
### the state file is stored on a persistent filesystem, Monit will recover | |
### the monitoring state across reboots. If it is on temporary filesystem, the | |
### state will be lost on reboot which may be convenient in some situations. | |
# | |
# set statefile /var/.monit.state | |
# | |
## Set the list of mail servers for alert delivery. Multiple servers may be | |
## specified using a comma separator. By default Monit uses port 25 - it is | |
## possible to override this with the PORT option. | |
# | |
# set mailserver mail.bar.baz, # primary mailserver | |
# backup.bar.baz port 10025, # backup mailserver on port 10025 | |
# localhost # fallback relay | |
# | |
# | |
## By default Monit will drop alert events if no mail servers are available. | |
## If you want to keep the alerts for later delivery retry, you can use the | |
## EVENTQUEUE statement. The base directory where undelivered alerts will be | |
## stored is specified by the BASEDIR option. You can limit the maximal queue | |
## size using the SLOTS option (if omitted, the queue is limited by space | |
## available in the back end filesystem). | |
# | |
# set eventqueue | |
# basedir /var/monit # set the base directory where events will be stored | |
# slots 100 # optionally limit the queue size | |
# | |
# | |
## Send status and events to M/Monit (for more informations about M/Monit | |
## see http://mmonit.com/). | |
# | |
# set mmonit http://monit:[email protected]:8080/collector | |
# | |
# | |
## Monit by default uses the following alert mail format: | |
## | |
## --8<-- | |
## From: monit@$HOST # sender | |
## Subject: monit alert -- $EVENT $SERVICE # subject | |
## | |
## $EVENT Service $SERVICE # | |
## # | |
## Date: $DATE # | |
## Action: $ACTION # | |
## Host: $HOST # body | |
## Description: $DESCRIPTION # | |
## # | |
## Your faithful employee, # | |
## Monit # | |
## --8<-- | |
## | |
## You can override this message format or parts of it, such as subject | |
## or sender using the MAIL-FORMAT statement. Macros such as $DATE, etc. | |
## are expanded at runtime. For example, to override the sender, use: | |
# | |
# set mail-format { from: [email protected] } | |
# | |
# | |
## You can set alert recipients whom will receive alerts if/when a | |
## service defined in this file has errors. Alerts may be restricted on | |
## events by using a filter as in the second example below. | |
# | |
# set alert [email protected] # receive all alerts | |
# set alert [email protected] only on { timeout } # receive just service- | |
# # timeout alert | |
# | |
# | |
## Monit has an embedded web server which can be used to view status of | |
## services monitored and manage services from a web interface. See the | |
## Monit Wiki if you want to enable SSL for the web server. | |
# | |
# set httpd port 2812 and | |
# use address localhost # only accept connection from localhost | |
# allow localhost # allow localhost to connect to the server and | |
# allow admin:monit # require user 'admin' with password 'monit' | |
# allow @monit # allow users of group 'monit' to connect (rw) | |
# allow @users readonly # allow users of group 'users' to connect readonly | |
# | |
# | |
############################################################################### | |
## Services | |
############################################################################### | |
## | |
## Check general system resources such as load average, cpu and memory | |
## usage. Each test specifies a resource, conditions and the action to be | |
## performed should a test fail. | |
# | |
# check system myhost.mydomain.tld | |
# if loadavg (1min) > 4 then alert | |
# if loadavg (5min) > 2 then alert | |
# if memory usage > 75% then alert | |
# if cpu usage (user) > 70% then alert | |
# if cpu usage (system) > 30% then alert | |
# if cpu usage (wait) > 20% then alert | |
# | |
# | |
## Check a file for existence, checksum, permissions, uid and gid. In addition | |
## to alert recipients in the global section, customized alert can be sent to | |
## additional recipients by specifying a local alert handler. The service may | |
## be grouped using the GROUP option. More than one group can be specified by | |
## repeating the 'group name' statement. | |
# | |
# check file apache_bin with path /usr/local/apache/bin/httpd | |
# if failed checksum and | |
# expect the sum 8f7f419955cefa0b33a2ba316cba3659 then unmonitor | |
# if failed permission 755 then unmonitor | |
# if failed uid root then unmonitor | |
# if failed gid root then unmonitor | |
# alert [email protected] on { | |
# checksum, permission, uid, gid, unmonitor | |
# } with the mail-format { subject: Alarm! } | |
# group server | |
# | |
# | |
## Check that a process is running, in this case Apache, and that it respond | |
## to HTTP and HTTPS requests. Check its resource usage such as cpu and memory, | |
## and number of children. If the process is not running, Monit will restart | |
## it by default. In case the service is restarted very often and the | |
## problem remains, it is possible to disable monitoring using the TIMEOUT | |
## statement. This service depends on another service (apache_bin) which | |
## is defined above. | |
# | |
# check process apache with pidfile /usr/local/apache/logs/httpd.pid | |
# start program = "/etc/init.d/httpd start" with timeout 60 seconds | |
# stop program = "/etc/init.d/httpd stop" | |
# if cpu > 60% for 2 cycles then alert | |
# if cpu > 80% for 5 cycles then restart | |
# if totalmem > 200.0 MB for 5 cycles then restart | |
# if children > 250 then restart | |
# if loadavg(5min) greater than 10 for 8 cycles then stop | |
# if failed host www.tildeslash.com port 80 protocol http | |
# and request "/somefile.html" | |
# then restart | |
# if failed port 443 type tcpssl protocol http | |
# with timeout 15 seconds | |
# then restart | |
# if 3 restarts within 5 cycles then timeout | |
# depends on apache_bin | |
# group server | |
# | |
# | |
## Check filesystem permissions, uid, gid, space and inode usage. Other services, | |
## such as databases, may depend on this resource and an automatically graceful | |
## stop may be cascaded to them before the filesystem will become full and data | |
## lost. | |
# | |
# check filesystem datafs with path /dev/sdb1 | |
# start program = "/bin/mount /data" | |
# stop program = "/bin/umount /data" | |
# if failed permission 660 then unmonitor | |
# if failed uid root then unmonitor | |
# if failed gid disk then unmonitor | |
# if space usage > 80% for 5 times within 15 cycles then alert | |
# if space usage > 99% then stop | |
# if inode usage > 30000 then alert | |
# if inode usage > 99% then stop | |
# group server | |
# | |
# | |
## Check a file's timestamp. In this example, we test if a file is older | |
## than 15 minutes and assume something is wrong if its not updated. Also, | |
## if the file size exceed a given limit, execute a script | |
# | |
# check file database with path /data/mydatabase.db | |
# if failed permission 700 then alert | |
# if failed uid data then alert | |
# if failed gid data then alert | |
# if timestamp > 15 minutes then alert | |
# if size > 100 MB then exec "/my/cleanup/script" as uid dba and gid dba | |
# | |
# | |
## Check directory permission, uid and gid. An event is triggered if the | |
## directory does not belong to the user with uid 0 and gid 0. In addition, | |
## the permissions have to match the octal description of 755 (see chmod(1)). | |
# | |
# check directory bin with path /bin | |
# if failed permission 755 then unmonitor | |
# if failed uid 0 then unmonitor | |
# if failed gid 0 then unmonitor | |
# | |
# | |
## Check a remote host availability by issuing a ping test and check the | |
## content of a response from a web server. Up to three pings are sent and | |
## connection to a port and an application level network check is performed. | |
# | |
# check host myserver with address 192.168.1.1 | |
# if failed icmp type echo count 3 with timeout 3 seconds then alert | |
# if failed port 3306 protocol mysql with timeout 15 seconds then alert | |
# if failed url http://user:[email protected]:8080/?querystring | |
# and content == 'action="j_security_check"' | |
# then alert | |
# | |
# | |
############################################################################### | |
## Includes | |
############################################################################### | |
## | |
## It is possible to include additional configuration parts from other files or | |
## directories. | |
# | |
include /etc/monit/conf.d/* | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/sh | |
# File: /etc/init.d/nginx | |
### BEGIN INIT INFO | |
# Provides: nginx | |
# Required-Start: $all | |
# Required-Stop: $all | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: starts the nginx web server | |
# Description: starts nginx using start-stop-daemon | |
### END INIT INFO | |
PATH=/usr/local/nginx/sbin:/sbin:/bin:/usr/sbin:/usr/bin | |
DAEMON=/usr/local/nginx/sbin/nginx | |
NAME=nginx | |
DESC=nginx | |
test -x $DAEMON || exit 0 | |
# Include nginx defaults if available | |
if [ -f /etc/default/nginx ] ; then | |
. /etc/default/nginx | |
fi | |
set -e | |
case "$1" in | |
start) | |
echo -n "Starting $DESC: " | |
start-stop-daemon --start --exec $DAEMON -- $DAEMON_OPTS | |
echo "$NAME." | |
;; | |
stop) | |
echo -n "Stopping $DESC: " | |
start-stop-daemon --stop --pidfile /var/run/$NAME.pid --exec $DAEMON | |
echo "$NAME." | |
;; | |
restart|force-reload) | |
echo -n "Restarting $DESC: " | |
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON | |
sleep 1 | |
start-stop-daemon --start --quiet --exec $DAEMON -- $DAEMON_OPTS | |
echo "$NAME." | |
;; | |
reload) | |
echo -n "Reloading $DESC configuration: " | |
start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON | |
echo "$NAME." | |
;; | |
configtest) | |
echo "Verifying the $DESC configuration:" | |
echo "----------------------------------" | |
$DAEMON -t | |
echo "----------------------------------" | |
echo "Done!" | |
;; | |
*) | |
N=/etc/init.d/$NAME | |
echo "Usage: $N {start|stop|restart|reload|force-reload|configtest}" >&2 | |
exit 1 | |
;; | |
esac | |
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# File: /etc/nginx/nginx.conf | |
worker_processes 1; | |
events { | |
worker_connections 1024; | |
} | |
http { | |
include mime.types; | |
default_type application/octet-stream; | |
#log_format main '$remote_addr - $remote_user [$time_local] "$request" ' | |
# '$status $body_bytes_sent "$http_referer" ' | |
# '"$http_user_agent" "$http_x_forwarded_for"'; | |
tcp_nopush on; # off may be better for *some* Comet/long-poll stuff | |
tcp_nodelay off; # on may be better for some Comet/long-poll stuff | |
sendfile on; | |
#tcp_nopush on; | |
#keepalive_timeout 0; | |
keepalive_timeout 65; | |
gzip on; | |
gzip_http_version 1.0; | |
gzip_proxied any; | |
gzip_min_length 500; | |
gzip_disable "MSIE [1-6]\."; | |
gzip_types text/plain text/xml text/css text/comma-separated-values text/javascript application/x-javascript application/atom+xml; | |
include /etc/nginx/sites-enabled/*; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /bin/sh | |
# File: /etc/init.d/unicorn | |
### BEGIN INIT INFO | |
# Provides: unicorn | |
# Required-Start: $local_fs $remote_fs $network $syslog | |
# Required-Stop: $local_fs $remote_fs $network $syslog | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: starts the unicorn web server | |
# Description: starts unicorn | |
### END INIT INFO | |
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | |
DAEMON=/usr/local/rvm/gems/ree-1.8.7-2010.02/bin/unicorn | |
DAEMON_OPTS="-c /web_apps/example_rack_app/unicorn.rb -E production -D" | |
NAME=unicorn | |
DESC="Unicorn app for example_rack_app" | |
PID=/web_apps/example_rack_app/pids/unicorn.pid | |
case "$1" in | |
start) | |
echo -n "Starting $DESC: " | |
$DAEMON $DAEMON_OPTS | |
echo "$NAME." | |
;; | |
stop) | |
echo -n "Stopping $DESC: " | |
kill -QUIT `cat $PID` | |
echo "$NAME." | |
;; | |
restart) | |
echo -n "Restarting $DESC: " | |
kill -QUIT `cat $PID` | |
sleep 1 | |
$DAEMON $DAEMON_OPTS | |
echo "$NAME." | |
;; | |
reload) | |
echo -n "Reloading $DESC configuration: " | |
kill -HUP `cat $PID` | |
echo "$NAME." | |
;; | |
*) | |
echo "Usage: $NAME {start|stop|restart|reload}" >&2 | |
exit 1 | |
;; | |
esac | |
exit 0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# File: /web_apps/example_rack_app/unicorn.rb | |
# | |
# See http://unicorn.bogomips.org/Unicorn/Configurator.html for complete | |
# documentation. | |
app_dir = "/web_apps/example_rack_app" | |
worker_processes 4 | |
working_directory app_dir | |
# listen on both a Unix domain socket and a TCP port, | |
# we use a shorter backlog for quicker failover when busy | |
listen "/tmp/example_rack_app.socket", :backlog => 64 | |
# nuke workers after 30 seconds instead of 60 seconds (the default) | |
timeout 30 | |
# feel free to point this anywhere accessible on the filesystem | |
user 'nginx', 'www-data' | |
pid "#{app_dir}/pids/unicorn.pid" | |
stderr_path "#{app_dir}/log/unicorn.stderr.log" | |
stdout_path "#{app_dir}/log/unicorn.stdout.log" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment