diff options
author | Andrei Belov <defan@nginx.com> | 2017-10-19 18:23:31 +0300 |
---|---|---|
committer | Andrei Belov <defan@nginx.com> | 2017-10-19 18:23:31 +0300 |
commit | eabe25d98e6805221025daf7bc60d881af1af6b1 (patch) | |
tree | 23a72fc526122de22909c62bb06af95d7c5572da /pkg/rpm/rpmbuild | |
parent | c8a8a7c2120e276777f97dcee6d489788417792a (diff) | |
download | unit-eabe25d98e6805221025daf7bc60d881af1af6b1.tar.gz unit-eabe25d98e6805221025daf7bc60d881af1af6b1.tar.bz2 |
Introduced rpm packages building tools.
Diffstat (limited to 'pkg/rpm/rpmbuild')
-rw-r--r-- | pkg/rpm/rpmbuild/SOURCES/unit.example-go-app | 20 | ||||
-rw-r--r-- | pkg/rpm/rpmbuild/SOURCES/unit.example-go-config | 15 | ||||
-rw-r--r-- | pkg/rpm/rpmbuild/SOURCES/unit.example-php-app | 1 | ||||
-rw-r--r-- | pkg/rpm/rpmbuild/SOURCES/unit.example-php-config | 17 | ||||
-rw-r--r-- | pkg/rpm/rpmbuild/SOURCES/unit.example-python-app | 16 | ||||
-rw-r--r-- | pkg/rpm/rpmbuild/SOURCES/unit.example-python-config | 17 | ||||
-rw-r--r-- | pkg/rpm/rpmbuild/SOURCES/unit.example.config | 39 | ||||
-rw-r--r-- | pkg/rpm/rpmbuild/SOURCES/unit.init | 116 | ||||
-rw-r--r-- | pkg/rpm/rpmbuild/SOURCES/unit.loadconfig.sh | 25 | ||||
-rw-r--r-- | pkg/rpm/rpmbuild/SOURCES/unit.saveconfig.sh | 24 | ||||
-rw-r--r-- | pkg/rpm/rpmbuild/SOURCES/unit.service | 14 | ||||
-rw-r--r-- | pkg/rpm/rpmbuild/SOURCES/unit.sysconf | 1 |
12 files changed, 305 insertions, 0 deletions
diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.example-go-app b/pkg/rpm/rpmbuild/SOURCES/unit.example-go-app new file mode 100644 index 00000000..ef2568ec --- /dev/null +++ b/pkg/rpm/rpmbuild/SOURCES/unit.example-go-app @@ -0,0 +1,20 @@ +package main + +import ( + "fmt" + "net/http" + "unit" +) + +func handler(w http.ResponseWriter, r *http.Request) { + w.Header().Add("Content-Type", "text/plain"); + + fmt.Fprintf(w, "Method : %s\n", r.Method) + fmt.Fprintf(w, "URL : %s\n", r.URL.Path) + fmt.Fprintf(w, "Host : %s\n", r.Host) +} + +func main() { + http.HandleFunc("/", handler) + unit.ListenAndServe("8000", nil) +} diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.example-go-config b/pkg/rpm/rpmbuild/SOURCES/unit.example-go-config new file mode 100644 index 00000000..d6a2a8a0 --- /dev/null +++ b/pkg/rpm/rpmbuild/SOURCES/unit.example-go-config @@ -0,0 +1,15 @@ +{ + "applications": { + "example_go": { + "type": "go", + "user": "nobody", + "executable": "/tmp/go-app" + } + }, + + "listeners": { + "*:8500": { + "application": "example_go" + } + } +} diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.example-php-app b/pkg/rpm/rpmbuild/SOURCES/unit.example-php-app new file mode 100644 index 00000000..147cebcd --- /dev/null +++ b/pkg/rpm/rpmbuild/SOURCES/unit.example-php-app @@ -0,0 +1 @@ +<?php phpinfo(); ?> diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.example-php-config b/pkg/rpm/rpmbuild/SOURCES/unit.example-php-config new file mode 100644 index 00000000..026b8f20 --- /dev/null +++ b/pkg/rpm/rpmbuild/SOURCES/unit.example-php-config @@ -0,0 +1,17 @@ +{ + "applications": { + "example_php": { + "type": "php", + "user": "nobody", + "workers": 2, + "root": "/usr/share/doc/unit-php/examples/phpinfo-app", + "index": "index.php" + } + }, + + "listeners": { + "*:8300": { + "application": "example_php" + } + } +} diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.example-python-app b/pkg/rpm/rpmbuild/SOURCES/unit.example-python-app new file mode 100644 index 00000000..756de77e --- /dev/null +++ b/pkg/rpm/rpmbuild/SOURCES/unit.example-python-app @@ -0,0 +1,16 @@ +import os +import datetime +import sys + +def application(environ, start_response): + output = datetime.datetime.now().strftime("%Y-%m-%d %I:%M:%S %p") + output += "\n\nPython: " + output += sys.version + output += "\n\nENV Variables:\n\n" + for param in os.environ.keys(): + output += param + output += "\t" + output += os.environ[param] + output += "\n" + start_response('200 OK', [('Content-type', 'text/plain')]) + return output.encode('utf8') diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.example-python-config b/pkg/rpm/rpmbuild/SOURCES/unit.example-python-config new file mode 100644 index 00000000..e0d8c439 --- /dev/null +++ b/pkg/rpm/rpmbuild/SOURCES/unit.example-python-config @@ -0,0 +1,17 @@ +{ + "applications": { + "example_python": { + "type": "python", + "user": "nobody", + "workers": 2, + "path": "/usr/share/doc/unit-python/examples/python-app", + "module": "wsgi" + } + }, + + "listeners": { + "*:8400": { + "application": "example_python" + } + } +} diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.example.config b/pkg/rpm/rpmbuild/SOURCES/unit.example.config new file mode 100644 index 00000000..99918022 --- /dev/null +++ b/pkg/rpm/rpmbuild/SOURCES/unit.example.config @@ -0,0 +1,39 @@ +{ + "applications": { + "example_php": { + "type": "php", + "user": "nobody", + "workers": 2, + "root": "/usr/share/doc/unit-php/examples/phpinfo-app", + "index": "index.php" + }, + + "example_python": { + "type": "python", + "user": "nobody", + "workers": 2, + "path": "/usr/share/doc/unit-python/examples/python-app", + "module": "wsgi" + }, + + "example_go": { + "type": "go", + "user": "nobody", + "executable": "/tmp/go-app" + } + }, + + "listeners": { + "*:8300": { + "application": "example_php" + }, + + "*:8400": { + "application": "example_python" + }, + + "*:8500": { + "application": "example_go" + } + } +} diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.init b/pkg/rpm/rpmbuild/SOURCES/unit.init new file mode 100644 index 00000000..b871ef32 --- /dev/null +++ b/pkg/rpm/rpmbuild/SOURCES/unit.init @@ -0,0 +1,116 @@ +#!/bin/sh +# +# unitd NGINX Unit +# +# chkconfig: - 86 14 +# description: NGINX Unit + +### BEGIN INIT INFO +# Provides: unitd +# Required-Start: $local_fs $network $named $syslog +# Required-Stop: $local_fs $network $named $syslog +# Default-Start: +# Default-Stop: 0 1 2 3 4 5 6 +# Short-Description: NGINX Unit +# Description: NGINX Unit +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +exec="/usr/sbin/unitd" +prog="unitd" +config="/etc/unit/unit.conf" + +if [ -n "$2" ]; then + config=$2 +fi + +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +lockfile=/var/lock/subsys/$prog + +start() { + [ -x $exec ] || exit 5 + echo -n $"Starting $prog: " + daemon $exec $UNITD_OPTIONS + retval=$? + echo + [ $retval -eq 0 ] && touch $lockfile + return $retval +} + +stop() { + echo -n $"Stopping $prog: " + killproc $prog + retval=$? + echo + [ $retval -eq 0 ] && rm -f $lockfile + return $retval +} + +restart() { + stop + start +} + +rh_status() { + status $prog +} + +rh_status_q() { + rh_status &>/dev/null +} + + +case "$1" in + start) + rh_status_q && exit 0 + $1 + ;; + stop) + rh_status_q || exit 0 + $1 + ;; + restart) + $1 + ;; + reload|force-reload) + echo "Not implemented." >&2 + exit 1 + ;; + status) + rh_status + ;; + condrestart|try-restart) + rh_status_q || exit 0 + restart + ;; + saveconfig) + curl -sS --unix-socket /var/run/control.unit.sock localhost >${config}.new + if [ $? -ne 0 ]; then + echo "Could not retreive configuration" >&2 + rm -f ${config}.new + exit 1 + fi + mv ${config}.new ${config} + echo "The following configuration has been saved to ${config}:" + cat ${config} + ;; + loadconfig) + if [ ! -e ${config} ]; then + echo "Could not find ${config} for loading" >&2 + exit 1 + fi + echo "Loading configuration from ${config}..." + curl -sS -X PUT --data-binary @${config} --unix-socket /var/run/control.unit.sock localhost + if [ $? -ne 0 ]; then + echo "Loading failed!" >&2 + exit 1 + fi + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|saveconfig|loadconfig}" + exit 2 +esac +exit $? diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.loadconfig.sh b/pkg/rpm/rpmbuild/SOURCES/unit.loadconfig.sh new file mode 100644 index 00000000..3dd90740 --- /dev/null +++ b/pkg/rpm/rpmbuild/SOURCES/unit.loadconfig.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# +# Legacy action script for "service unit loadconfig" + +CONFIG=/etc/unit/config + +if [ -n "$1" ] ; then + CONFIG=$1 +fi + +if [ ! -e ${CONFIG} ]; then + echo "Could not find ${CONFIG} for loading" >&2 + exit 1 +fi + +echo "Loading configuration from ${CONFIG}..." + +curl -sS -X PUT --data-binary @${CONFIG} --unix-socket /var/run/control.unit.sock localhost + +if [ $? -ne 0 ]; then + echo "Loading failed!" >&2 + exit 1 +fi + +exit 0 diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.saveconfig.sh b/pkg/rpm/rpmbuild/SOURCES/unit.saveconfig.sh new file mode 100644 index 00000000..dbed9a81 --- /dev/null +++ b/pkg/rpm/rpmbuild/SOURCES/unit.saveconfig.sh @@ -0,0 +1,24 @@ +#!/bin/sh +# +# Legacy action script for "service unit saveconfig" + +CONFIG=/etc/unit/config + +if [ -n "$1" ] ; then + CONFIG=$1 +fi + +curl -sS --unix-socket /var/run/control.unit.sock localhost >${CONFIG}.new + +if [ $? -ne 0 ]; then + echo "Could not retreive configuration" >&2 + rm -f ${CONFIG}.new + exit 1 +fi + +mv ${CONFIG}.new ${CONFIG} + +echo "The following configuration has been saved to ${CONFIG}:" +cat ${CONFIG} + +exit 0 diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.service b/pkg/rpm/rpmbuild/SOURCES/unit.service new file mode 100644 index 00000000..93663c58 --- /dev/null +++ b/pkg/rpm/rpmbuild/SOURCES/unit.service @@ -0,0 +1,14 @@ +[Unit] +Description=NGINX Unit +Wants=network-online.target +After=network-online.target + +[Service] +Type=forking +PIDFile=/run/unit.pid +EnvironmentFile=-/etc/sysconfig/unitd +ExecStart=/usr/sbin/unitd $UNITD_OPTIONS +ExecReload= + +[Install] +WantedBy=multi-user.target diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.sysconf b/pkg/rpm/rpmbuild/SOURCES/unit.sysconf new file mode 100644 index 00000000..436b164a --- /dev/null +++ b/pkg/rpm/rpmbuild/SOURCES/unit.sysconf @@ -0,0 +1 @@ +UNITD_OPTIONS="--log /var/log/unitd.log --pid /run/unitd.pid" |