Rework to add endpoint creation and better handling
This commit is contained in:
73
helper-scripts/services/custom-nginx.sh
Normal file
73
helper-scripts/services/custom-nginx.sh
Normal file
@@ -0,0 +1,73 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
description="Nginx http and reverse proxy server"
|
||||
extra_commands="checkconfig"
|
||||
extra_started_commands="reload reopen upgrade"
|
||||
|
||||
cfgfile=${cfgfile:-/etc/nginx/nginx.conf}
|
||||
pidfile=/run/nginx/nginx.pid
|
||||
command=${command:-/usr/sbin/nginx}
|
||||
command_args="-c $cfgfile"
|
||||
required_files="$cfgfile"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use dns logger netmount
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
checkpath --directory --owner nginx:nginx ${pidfile%/*}
|
||||
$command $command_args -t -q
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
ebegin "Checking $RC_SVCNAME configuration"
|
||||
start_pre
|
||||
eend $?
|
||||
}
|
||||
|
||||
reload() {
|
||||
ebegin "Reloading $RC_SVCNAME configuration"
|
||||
# start_pre && start-stop-daemon --signal HUP --pidfile $pidfile
|
||||
nginx -s reload
|
||||
# call our service
|
||||
eend $?
|
||||
}
|
||||
|
||||
reopen() {
|
||||
ebegin "Reopening $RC_SVCNAME log files"
|
||||
start-stop-daemon --signal USR1 --pidfile $pidfile
|
||||
eend $?
|
||||
}
|
||||
|
||||
upgrade() {
|
||||
start_pre || return 1
|
||||
|
||||
ebegin "Upgrading $RC_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"
|
||||
}
|
||||
Reference in New Issue
Block a user