Nginx Startup Script on CentOS/RedHat
Posted by admin in Unixtags: centos, nginx, redhat, startup
As described on my tutorial regarding Nginx installation for reverse proxy, we don’t have any working nginx startup script. Because we installed our nginx from source (to get the latest stable version).
We need to add the script manually to our server
Adding a nginx startup script
nano /etc/init.d/nginx
#!/bin/sh
#
# nginx – this script starts and stops the nginx daemin
#
# chkconfig: – 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid# Source function library.
. /etc/rc.d/init.d/functions# Source networking configuration.
. /etc/sysconfig/network# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0nginx=”/etc/nginx/sbin/nginx”
prog=$(basename $nginx)NGINX_CONF_FILE=”/etc/nginx/conf/nginx.conf”
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $”Starting $prog: ”
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}stop() {
echo -n $”Stopping $prog: ”
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}restart() {
configtest || return $?
stop
start
}reload() {
configtest || return $?
echo -n $”Reloading $prog: ”
killproc $nginx -HUP
RETVAL=$?
echo
}force_reload() {
restart
}configtest() {
$nginx -t -c $NGINX_CONF_FILE
}rh_status() {
status $prog
}rh_status_q() {
rh_status >/dev/null 2>&1
}case “$1″ in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $”Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}”
exit 2
esac
Change the permission of the file so that can be executed
chmod +x /etc/init.d/nginx
Add nginx to the startup
chkconfig nginx on
Check if nginx already on the startup
# chkconfig –list | grep nginx
nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Last step is starting our nginx
# /etc/init.d/nginx start
the configuration file /etc/nginx/conf/nginx.conf syntax is ok
configuration file /etc/nginx/conf/nginx.conf test is successful
Starting nginx: [ OK ]
Entries (RSS)
[...] Indonesia 2009 Sulit Bicara Indonesia Nginx Startup Script on CentOS/RedHat » Nov 12 [...]