目的:让nginx随服务器启动
操作系统:
<code>
Linux localhost.localdomain 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386 GNU/Linux
</code>
以下内容保存为文件nginx到/etc/init.d/目录下
<code>
#! /bin/sh
# chkconfig: - 58 74
# description: nginx is the Nginx daemon.
# 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
# Modified: Geoffrey Grosenbach http://topfunky.com
# Modified: David Krmpotic http://davidhq.com
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/nginx.conf
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/nginx.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# 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
</code>
然后
1
sudo chmod +x nginx
然后
1
sudo /sbin/chkconfig --level 345 nginx on
这里说明需要说明一下,
# chkconfig: - 58 74
# description: nginx is the Nginx daemon.
脚本中这两句注释一定要的,表明是chkconfig支持的格式。不然会有类似下面的提示:
service nginx does not support chkconfig
进一步可参考这里
完成,reboot就可以看到nginx自动启动。
Ubuntu可参考:nginx.sh 和 这里
Update(2008-1-31):关于chkconfig的更多信息,看这里
收藏、分享这篇文章!
Related posts:
1. 使用Nginx和Mongrel Cluster部署Rails应用 本文介绍在Linux上以Nginx为前端、Mongrel Cluster为后端部署Rails应用的方法及步骤。 平台:Ubuntu 7.10 (Gutsy Gibbon) Nginx简介Nginx是由俄罗斯人Igor Sysoev开发的一款HTTP服务器。它有以下特点:轻量小巧(相对于Apache等) 快速高效...
2. shoulda on rails 在新项目中配置shoulda rails shoulda_demo -d mysql cd shoulda_demo/ script/plugin install git://github.com/thoughtbot/shoulda.git...
3. Satellite: a self-syncing distributed wiki 介绍 satellite is a self-syncing distributed wiki with file uploads...
Related posts brought to you by Yet Another Related Posts Plugin.
操作系统:
<code>
Linux localhost.localdomain 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386 GNU/Linux
</code>
以下内容保存为文件nginx到/etc/init.d/目录下
<code>
#! /bin/sh
# chkconfig: - 58 74
# description: nginx is the Nginx daemon.
# 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
# Modified: Geoffrey Grosenbach http://topfunky.com
# Modified: David Krmpotic http://davidhq.com
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/nginx.conf
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/nginx.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# 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
</code>
然后
1
sudo chmod +x nginx
然后
1
sudo /sbin/chkconfig --level 345 nginx on
这里说明需要说明一下,
# chkconfig: - 58 74
# description: nginx is the Nginx daemon.
脚本中这两句注释一定要的,表明是chkconfig支持的格式。不然会有类似下面的提示:
service nginx does not support chkconfig
进一步可参考这里
完成,reboot就可以看到nginx自动启动。
Ubuntu可参考:nginx.sh 和 这里
Update(2008-1-31):关于chkconfig的更多信息,看这里
收藏、分享这篇文章!
Related posts:
1. 使用Nginx和Mongrel Cluster部署Rails应用 本文介绍在Linux上以Nginx为前端、Mongrel Cluster为后端部署Rails应用的方法及步骤。 平台:Ubuntu 7.10 (Gutsy Gibbon) Nginx简介Nginx是由俄罗斯人Igor Sysoev开发的一款HTTP服务器。它有以下特点:轻量小巧(相对于Apache等) 快速高效...
2. shoulda on rails 在新项目中配置shoulda rails shoulda_demo -d mysql cd shoulda_demo/ script/plugin install git://github.com/thoughtbot/shoulda.git...
3. Satellite: a self-syncing distributed wiki 介绍 satellite is a self-syncing distributed wiki with file uploads...
Related posts brought to you by Yet Another Related Posts Plugin.