aports/main/nginx/nginx.initd
Valery Kartel 0652a48712 main/nginx: completely rewritten, all nginx-* packages are assembled in this one
- nginx-common - config-files, init-scripts and common data
- nginx - binary without external modules
- nginx-rtmp - binary with rtmp module
- nginx-lua - binary with rtmp and lua modules
- init-script cleaned up to be more openrc-run'ed
- logrotate cleaned up to use new init-script

Packages main/nginx-initscripts and main/nginx-lua no longer needed.
2016-02-10 10:17:41 +00:00

67 lines
1.3 KiB
Plaintext

#!/sbin/openrc-run
description="Nginx http and reverse proxy server"
extra_started_commands="reload reopen upgrade"
cfgfile=${cfgfile:-/etc/nginx/nginx.conf}
pidfile=/run/nginx/nginx.pid
command=/usr/sbin/nginx
command_args="-c $cfgfile"
required_files="$cfgfile"
depend() {
need net
use dns logger netmount
}
start_pre() {
ebegin
checkpath --directory --owner nginx:nginx ${pidfile%/*}
$command $command_args -t -q
eend $?
}
reload() {
ebegin "Reloading ${SVCNAME} configuration"
start_pre && start-stop-daemon --signal HUP --pidfile $pidfile
eend $?
}
reopen() {
ebegin "Reopening ${SVCNAME} log files"
start-stop-daemon --signal USR1 --pidfile $pidfile
eend $?
}
upgrade() {
start_pre || return 1
ebegin "Upgrading ${SVCNAME} binary"
einfo "Sending USR2 to old binary"
start-stop-daemon --signal USR2 --pidfile $pidfile
einfo "Sleeping 3 seconds before pid-files checking"
sleep 3
if [ ! -f $pidfile.oldbin ]; then
eerror "File with old pid ($pidfile.oldbin) not found"
return 1
fi
if [ ! -f $pidfile ]; then
eerror "New binary failed to start"
return 1
fi
einfo "Sleeping 3 seconds before WINCH"
sleep 3 ; start-stop-daemon --signal 28 --pidfile $pidfile.oldbin
einfo "Sending QUIT to old binary"
start-stop-daemon --signal QUIT --pidfile $pidfile.oldbin
einfo "Upgrade completed"
eend $? "Upgrade failed"
}