From 1482bd8fb4d03f07db0d1a7f60d752357140a91f Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 12 May 2014 13:20:13 +0800 Subject: [PATCH] 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 000000000..e273af327 --- /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 000000000..fb8b9b53a --- /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 000000000..21984192e --- /dev/null +++ b/tmp/readme.txt @@ -0,0 +1 @@ +here is log for supervisord and gogs \ No newline at end of file