Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Где правильно взять /etc/in	it.d/nginx?
 
- To: nginx-ru@xxxxxxxxx
 
- Subject: Re: Где правильно взять /etc/in	it.d/nginx?
 
- From: Anton Bessonov <exelib@xxxxxxxxxxxxxx>
 
- Date: Sun, 13 Jun 2010 14:51:55 +0200
 
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed;	d=googlemail.com; s=gamma;	h=domainkey-signature:received:received:message-id:date:from	:user-agent:mime-version:to:subject:references:in-reply-to	:content-type; bh=lKtjexFh2sqdJBEFWsPNjggD+z4jvtr2xr2IoZNB6VY=;	b=bZ5IZeMpdXHL8qT1FyHsyM7dD0WD6OxVAhtkT2Ej+cmCLTKqSfpZesMWRD9pBdP0aR	MxcAL+PzTgHZ0OUOLq41IJ+lkjJ4nnqtS0C3bJoflNGG9lKo8OZmkd7/KpZ/V3krObdp	F45sCk3lwtSt4o2IEWvlbguMhofLmnZlwWCiY=
 
- Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma;	h=message-id:date:from:user-agent:mime-version:to:subject:references	:in-reply-to:content-type;	b=S5eKsja31vOVxLjZpNERQZzL8/jyDs7AYQ49g/A35EJxSTvWo5c3piC4BLhPGhx2+B	YL2QIVXRjORMUiJdz5z16euBXsgkm7c2z++4Pq6TB+VXV4hME4cIVDVOACtiTTKT6W0x	aZ88JVplUywTKW9ABI77hLbQ1EP3psrXhrlxA=
 
- In-reply-to: <AANLkTil9KgAzpZz1oNSEXSACU6qzVytVOk9SocJS_rcU@xxxxxxxxxxxxxx>
 
- References: <3e74e26831d990359b833cd08bc43a32.NginxMailingListRussian@xxxxxxxxxxxxxxx>	<AANLkTil9KgAzpZz1oNSEXSACU6qzVytVOk9SocJS_rcU@xxxxxxxxxxxxxx>
 
 
 
 
Официального варианта не существует.
   
 
А надо бы.
 Из-за отсутствия привязки server к юзверю, пришлось сделать через задний 
проход и модифицированный (очень простой) скрипт под дериватов дебиана в 
аттаче. Думаю идея понятна.
#! /bin/sh
# 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.
#
# Author:       Ryan Norbauer <ryan.norbauer@xxxxxxxxx>
# Modified:     Geoffrey Grosenbach http://topfunky.com
#set -e
#set -x
USER="$2"
if [[ -z "${USER}" ]]; then
        NAME=nginx
        CONFIGFILE=/usr/local/nginx/nginx.conf
        PIDFILE=/var/run/nginx.pid
else
        id $USER 2>/dev/null
        if [ $? -eq 1 ]; then
                echo "user does not exists!"
                exit
        fi
        NAME=nginx_$USER
        CONFIGFILE=/home/$USER/conf/nginx.conf
        PIDFILE=/var/run/nginx_$USER.pid
fi
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
DAEMON=/usr/local/nginx/nginx
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
d_start() {
  $DAEMON -c $CONFIGFILE || echo -n " already running"
}
d_stop() {
  kill -QUIT `cat $PIDFILE` || echo -n " not running"
}
d_reload() {
  kill -HUP `cat $PIDFILE` || echo -n " can't reload"
}
d_config_test() {
  $DAEMON -t -c $CONFIGFILE
}
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 "reloaded."
  ;;
  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 "."
        ;;
   conf)
        d_config_test
        ;;
  *)
          echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
          exit 3
        ;;
esac
exit 0
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
 
 
 |