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
|