From 1482bd8fb4d03f07db0d1a7f60d752357140a91f Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 12 May 2014 13:20:13 +0800 Subject: [PATCH 1/3] add supervisor support and script, easy to use. just like ./gogs_supervisord.sh start ./gogs_supervisord.sh stop ./gogs_supervisord.sh restart and logs all saved tmp folder --- etc/supervisord.conf | 26 ++++++++++++++++++++++++++ gogs_supervisord.sh | 35 +++++++++++++++++++++++++++++++++++ tmp/readme.txt | 1 + 3 files changed, 62 insertions(+) create mode 100644 etc/supervisord.conf create mode 100644 gogs_supervisord.sh create mode 100644 tmp/readme.txt diff --git a/etc/supervisord.conf b/etc/supervisord.conf new file mode 100644 index 0000000000..e273af3271 --- /dev/null +++ b/etc/supervisord.conf @@ -0,0 +1,26 @@ +[unix_http_server] +file=/tmp/supervisor.sock ; path to your socket file + +[supervisord] +logfile=tmp/supervisord.log ; supervisord log file +logfile_maxbytes=50MB ; maximum size of logfile before rotation +logfile_backups=10 ; number of backed up logfiles +loglevel=warn ; info, debug, warn, trace +pidfile=tmp/supervisord.pid ; pidfile location +nodaemon=false ; run supervisord as a daemon +minfds=1024 ; number of startup file descriptors +minprocs=200 ; number of process descriptors +user=root ; default user +childlogdir=tmp + +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +[supervisorctl] +serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket + +[program:gogs] +command = /root/Developer/gopath/src/github.com/gogits/gogs/start.sh ; here must be the real url, not ~ or $GOROOT like +autostart = true +stdout_logfile = tmp/gogs-stderr.log +stderr_logfile = tmp/gogs-error.log \ No newline at end of file diff --git a/gogs_supervisord.sh b/gogs_supervisord.sh new file mode 100644 index 0000000000..fb8b9b53a6 --- /dev/null +++ b/gogs_supervisord.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +PID="tmp/supervisord.pid" +CONF="etc/supervisord.conf" + +stop() { + if [ -f $PID ]; then + kill `cat -- $PID` + rm -f -- $PID + echo "stopped" + fi +} + +start() { + echo "starting" + if [ ! -f $PID ]; then + supervisord -c $CONF + echo "started" + fi +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart) + stop + start + ;; + *) + echo "Usage: $0 {start|stop|restart}" +esac \ No newline at end of file diff --git a/tmp/readme.txt b/tmp/readme.txt new file mode 100644 index 0000000000..21984192e9 --- /dev/null +++ b/tmp/readme.txt @@ -0,0 +1 @@ +here is log for supervisord and gogs \ No newline at end of file From 7ec3f1b2d88c9f8f92c6377ec71fcd018ae80d9e Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 12 May 2014 21:13:05 +0800 Subject: [PATCH 2/3] modify the file path move etc/supervisord.conf to conf/etc/supervisord; remove tmp folder, then all logs move to log folder; move the supervisor.pid to /tmp folder. --- {etc => conf/etc}/supervisord.conf | 12 ++++++------ gogs_supervisord.sh | 4 ++-- tmp/readme.txt | 1 - 3 files changed, 8 insertions(+), 9 deletions(-) rename {etc => conf/etc}/supervisord.conf (76%) delete mode 100644 tmp/readme.txt diff --git a/etc/supervisord.conf b/conf/etc/supervisord.conf similarity index 76% rename from etc/supervisord.conf rename to conf/etc/supervisord.conf index e273af3271..e17f50a847 100644 --- a/etc/supervisord.conf +++ b/conf/etc/supervisord.conf @@ -2,16 +2,16 @@ file=/tmp/supervisor.sock ; path to your socket file [supervisord] -logfile=tmp/supervisord.log ; supervisord log file +logfile=log/supervisord.log ; supervisord log file logfile_maxbytes=50MB ; maximum size of logfile before rotation logfile_backups=10 ; number of backed up logfiles loglevel=warn ; info, debug, warn, trace -pidfile=tmp/supervisord.pid ; pidfile location +pidfile=/tmp/supervisord.pid ; pidfile location nodaemon=false ; run supervisord as a daemon minfds=1024 ; number of startup file descriptors minprocs=200 ; number of process descriptors user=root ; default user -childlogdir=tmp +childlogdir=log [rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface @@ -20,7 +20,7 @@ supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket [program:gogs] -command = /root/Developer/gopath/src/github.com/gogits/gogs/start.sh ; here must be the real url, not ~ or $GOROOT like +command = /root/Developer/gopath/src/github.com/gogits/gogs/start.sh ; here must be the real url, not ~ or $GOROOT like autostart = true -stdout_logfile = tmp/gogs-stderr.log -stderr_logfile = tmp/gogs-error.log \ No newline at end of file +stdout_logfile = log/supervisor-gogs-stderr.log +stderr_logfile = log/supervisor-gogs-error.log \ No newline at end of file diff --git a/gogs_supervisord.sh b/gogs_supervisord.sh index fb8b9b53a6..2c7c6539bf 100644 --- a/gogs_supervisord.sh +++ b/gogs_supervisord.sh @@ -1,7 +1,7 @@ #!/bin/sh -PID="tmp/supervisord.pid" -CONF="etc/supervisord.conf" +PID="/tmp/supervisord.pid" +CONF="conf/etc/supervisord.conf" stop() { if [ -f $PID ]; then diff --git a/tmp/readme.txt b/tmp/readme.txt deleted file mode 100644 index 21984192e9..0000000000 --- a/tmp/readme.txt +++ /dev/null @@ -1 +0,0 @@ -here is log for supervisord and gogs \ No newline at end of file From 83a10ce880f3eb15c7f6736aecece3ea41d9c3cd Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 12 May 2014 21:50:04 +0800 Subject: [PATCH 3/3] add tip to modify the command path, add check the log folder, if not then create it. --- gogs_supervisord.sh | 7 +++++++ 1 file changed, 7 insertions(+) mode change 100644 => 100755 gogs_supervisord.sh diff --git a/gogs_supervisord.sh b/gogs_supervisord.sh old mode 100644 new mode 100755 index 2c7c6539bf..43908094b5 --- a/gogs_supervisord.sh +++ b/gogs_supervisord.sh @@ -1,8 +1,15 @@ #!/bin/sh +echo 'plase remember to modify the command path in etc/conf/supervisord.conf(line 23)' + PID="/tmp/supervisord.pid" CONF="conf/etc/supervisord.conf" +LOGDIR="log" +if [ ! -d $LOGDIR ]; then + mkdir $LOGDIR +fi + stop() { if [ -f $PID ]; then kill `cat -- $PID`