/
server_puma.sh
executable file
·75 lines (65 loc) · 1.47 KB
/
server_puma.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/bin/bash
# You should place this script in user's home bin dir like :
# /home/redmine/bin/server_puma.sh
#
# Normally the user's bin directory should be in the PATH.
# If not, add this in /home/redmine/.profile :
#
# ------------------>8
# #set PATH so it includes user's private bin if it exists
# if [ -d "$HOME/bin" ] ; then
# PATH="$HOME/bin:$PATH"
# fi
# ------------------>8
#
#
# This script *must* be run by the Redmine user so
# switch user *before* running the script :
# root$ su - redmine
#
# Then :
# redmine$ server_puma.sh start
# redmine$ server_puma.sh stop
# redmine$ server_puma.sh restart
SERVER_NAME="redmine"
RAILS_ENV="production"
REDMINE_PATH="$HOME/redmine"
CONFIG_FILE="$HOME/etc/puma.rb"
PID_FILE="$REDMINE_PATH/tmp/pids/puma.pid"
SOCK_FILE="$REDMINE_PATH/tmp/sockets/redmine.sock"
BIND_URI="unix://$SOCK_FILE"
THREADS="0:8"
WORKERS=2
function start () {
echo "Start Puma Server..."
puma --daemon --preload --bind $BIND_URI \
--environment $RAILS_ENV --dir $REDMINE_PATH \
--workers $WORKERS --threads $THREADS \
--pidfile $PID_FILE --tag $SERVER_NAME \
--config $CONFIG_FILE
echo "Done"
}
function stop () {
echo "Stop Puma Server..."
if [ -f $PID_FILE ] ; then
kill $(cat $PID_FILE) 2>/dev/null
rm -f $PID_FILE
rm -f $SOCK_FILE
fi
echo "Done"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage : server_puma.sh {start|stop|restart}"
;;
esac