nginx init script for redhat (rhel5)

Cliff Wells cliff at develix.com
Tue Mar 17 06:44:01 MSK 2009


Oops.  Ignore that.  Here's what I use:

http://wiki.nginx.org/RedHatNginxInitScript

Regards,
Cliff

On Mon, 2009-03-16 at 20:38 -0700, Cliff Wells wrote:
> http://wiki.nginx.org/RedHatInitScript
> 
> 
> 
> 
> On Mon, 2009-03-16 at 19:51 -0700, mike wrote:
> > for the most part, it works fine.
> > 
> > however, sometimes the pid file disappears (?)
> > also, "restart" does not work if the daemon is not running already. it
> > should handle that gracefully.
> > 
> > anyone have a better one? i also have the same issue with "restart" on
> > my ubuntu version as well...
> > 
> > 
> > #!/bin/sh
> > #
> > # Init file for nginx
> > #
> > # chkconfig: 2345 55 25
> > # description: Nginx web server
> > #
> > # processname: nginx
> > # config: /usr/local/nginx/nginx.conf
> > # pidfile: /usr/local/nginx/nginx.pid
> > 
> > # Description: Startup script for nginx webserver on Debian. Place in
> > /etc/init.d and
> > # run 'sudo update-rc.d nginx defaults', or use the appropriate command on your
> > # distro. For CentOS/Redhat run: '/sbin/chkconfig --add nginx'
> > #
> > # Author:  Ryan Norbauer <ryan.norbauer at gmail.com>
> > # Modified:     Geoffrey Grosenbach http://topfunky.com
> > # Modified:     David Krmpotic http://davidhq.com
> > # Modified:                     Vishnu Gopal http://vish.in
> > 
> > set -e
> > 
> > PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
> > DESC="nginx daemon"
> > NAME=nginx
> > DAEMON=/usr/sbin/nginx
> > CONFIGFILE=/etc/nginx/nginx.conf
> > PIDFILE=/var/run/nginx.pid
> > SCRIPTNAME=/etc/init.d/nginx
> > 
> > # Gracefully exit if the package has been removed.
> > test -x $DAEMON || exit 0
> > 
> > d_start() {
> >   $DAEMON -c $CONFIGFILE || echo -en "\n already running"
> > }
> > 
> > d_stop() {
> >   kill -QUIT `cat $PIDFILE` || echo -en "\n not running"
> > }
> > 
> > d_reload() {
> >   kill -HUP `cat $PIDFILE` || echo -en "\n can't reload"
> > }
> > 
> > case "$1" in
> >   start)
> >     echo -n "Starting $DESC: $NAME"
> >     d_start
> >         echo "."
> >   ;;
> >   stop)
> >     echo -n "Stopping $DESC: $NAME"
> >     d_stop
> >         echo "."
> >   ;;
> >   reload)
> >     echo -n "Reloading $DESC configuration..."
> >     d_reload
> >         echo "."
> >   ;;
> >   restart)
> >     echo -n "Restarting $DESC: $NAME"
> >     d_stop
> >     # One second might not be time enough for a daemon to stop,
> >     # if this happens, d_start will fail (and dpkg will break if
> >     # the package is being upgraded). Change the timeout if needed
> >     # be, or change d_stop to have start-stop-daemon use --retry.
> >     # Notice that using --retry slows down the shutdown process somewhat.
> >     sleep 1
> >     d_start
> >     echo "."
> >   ;;
> >   *)
> >     echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2
> >     exit 3
> >   ;;
> > esac
> > 
> > exit 0
> > 






More information about the nginx mailing list