add unicorn
This commit is contained in:
2
Gemfile
2
Gemfile
@@ -33,7 +33,7 @@ end
|
||||
# gem 'jbuilder'
|
||||
|
||||
# Use unicorn as the app server
|
||||
# gem 'unicorn'
|
||||
gem 'unicorn'
|
||||
|
||||
# Deploy with Capistrano
|
||||
# gem 'capistrano'
|
||||
|
||||
@@ -62,6 +62,7 @@ GEM
|
||||
railties (>= 3.0, < 5.0)
|
||||
thor (>= 0.14, < 2.0)
|
||||
json (1.8.1)
|
||||
kgio (2.9.2)
|
||||
libv8 (3.16.14.3)
|
||||
mail (2.5.4)
|
||||
mime-types (~> 1.16)
|
||||
@@ -97,6 +98,7 @@ GEM
|
||||
activesupport (= 4.1.0)
|
||||
rake (>= 0.8.7)
|
||||
thor (>= 0.18.1, < 2.0)
|
||||
raindrops (0.13.0)
|
||||
rake (10.2.2)
|
||||
rb-readline (0.5.1)
|
||||
redcarpet (3.1.1)
|
||||
@@ -135,6 +137,10 @@ GEM
|
||||
uglifier (2.5.0)
|
||||
execjs (>= 0.3.0)
|
||||
json (>= 1.8.0)
|
||||
unicorn (4.8.3)
|
||||
kgio (~> 2.6)
|
||||
rack
|
||||
raindrops (~> 0.7)
|
||||
webrick (1.3.1)
|
||||
|
||||
PLATFORMS
|
||||
@@ -159,4 +165,5 @@ DEPENDENCIES
|
||||
sass-rails
|
||||
therubyracer
|
||||
uglifier
|
||||
unicorn
|
||||
webrick
|
||||
|
||||
@@ -3,6 +3,7 @@ class ApplicationController < ActionController::Base
|
||||
before_filter :update_ip, :update_seen, :check_banned
|
||||
# TODO: force_ssl
|
||||
|
||||
# TODO: remove this!
|
||||
http_basic_authenticate_with name: "redstone", password: "sheep_"
|
||||
|
||||
helper :all
|
||||
|
||||
15
config/unicorn.rb
Normal file
15
config/unicorn.rb
Normal file
@@ -0,0 +1,15 @@
|
||||
root = "/home/redstoner/website/public"
|
||||
working_directory root
|
||||
pid "#{root}/tmp/pids/unicorn.pid"
|
||||
stderr_path "#{root}/log/unicorn.log"
|
||||
stdout_path "#{root}/log/unicorn.log"
|
||||
|
||||
listen "/tmp/unicorn.redstoner.sock"
|
||||
worker_processes 2
|
||||
timeout 30
|
||||
|
||||
# Force the bundler gemfile environment variable to
|
||||
# reference the capistrano "current" symlink
|
||||
before_exec do |_|
|
||||
ENV["BUNDLE_GEMFILE"] = File.join(root, 'Gemfile')
|
||||
end
|
||||
84
config/unicorn_init.sh
Normal file
84
config/unicorn_init.sh
Normal file
@@ -0,0 +1,84 @@
|
||||
#!/bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: unicorn
|
||||
# Required-Start: $remote_fs $syslog
|
||||
# Required-Stop: $remote_fs $syslog
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Manage unicorn server
|
||||
# Description: Start, stop, restart unicorn server for a specific application.
|
||||
### END INIT INFO
|
||||
set -e
|
||||
|
||||
# Feel free to change any of the following variables for your app:
|
||||
TIMEOUT="${TIMEOUT-60}"
|
||||
APP_ROOT="/home/redstoner/website/public"
|
||||
PID="$APP_ROOT/tmp/pids/unicorn.pid"
|
||||
CMD="cd $APP_ROOT; bundle exec unicorn -D -c $APP_ROOT/config/unicorn.rb -E production"
|
||||
AS_USER="www-data"
|
||||
set -u
|
||||
|
||||
OLD_PIN="$PID.oldbin"
|
||||
|
||||
sig () {
|
||||
test -s "$PID" && kill -$1 `cat $PID`
|
||||
}
|
||||
|
||||
oldsig () {
|
||||
test -s $OLD_PIN && kill -$1 `cat $OLD_PIN`
|
||||
}
|
||||
|
||||
run () {
|
||||
if [ "$(id -un)" = "$AS_USER" ]; then
|
||||
eval $1
|
||||
else
|
||||
su -c "$1" - $AS_USER
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
sig 0 && echo >&2 "Already running" && exit 0
|
||||
run "$CMD"
|
||||
;;
|
||||
stop)
|
||||
sig QUIT && exit 0
|
||||
echo >&2 "Not running"
|
||||
;;
|
||||
force-stop)
|
||||
sig TERM && exit 0
|
||||
echo >&2 "Not running"
|
||||
;;
|
||||
restart|reload)
|
||||
sig HUP && echo reloaded OK && exit 0
|
||||
echo >&2 "Couldn't reload, starting '$CMD' instead"
|
||||
run "$CMD"
|
||||
;;
|
||||
upgrade)
|
||||
if sig USR2 && sleep 2 && sig 0 && oldsig QUIT
|
||||
then
|
||||
n=$TIMEOUT
|
||||
while test -s $OLD_PIN && test $n -ge 0
|
||||
do
|
||||
printf '.' && sleep 1 && n=$(( $n - 1 ))
|
||||
done
|
||||
echo
|
||||
|
||||
if test $n -lt 0 && test -s $OLD_PIN
|
||||
then
|
||||
echo >&2 "$OLD_PIN still exists after $TIMEOUT seconds"
|
||||
exit 1
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
echo >&2 "Couldn't upgrade, starting '$CMD' instead"
|
||||
run "$CMD"
|
||||
;;
|
||||
reopen-logs)
|
||||
sig USR1
|
||||
;;
|
||||
*)
|
||||
echo >&2 "Usage: $0 <start|stop|restart|upgrade|force-stop|reopen-logs>"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user