Nginx boot script
Posted by HoLin on January 25th, 2008 filed in 部署与优化目的:让nginx随服务器启动
操作系统:
1 2 3 | <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/目录下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | <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自动启动。
Update(2008-1-31):关于chkconfig的更多信息,看这里
Related posts:
- 使用Nginx和Mongrel Cluster部署Rails应用 本文介绍在Linux上以Nginx为前端、Mongrel Cluster为后端部署Rails应用的方法及步骤。 平台:Ubuntu 7.10 (Gutsy Gibbon) Nginx简介Nginx是由俄罗斯人Igor Sysoev开发的一款HTTP服务器。它有以下特点: 轻量小巧(相对于Apache等) 快速高效...
- Ruby 1.8.7, Rails 2.1.0 API 文档 假定rdoc安装在:/usr/local/lib/ruby/1.8/rdoc 1,下载并解压jaxdoc(http://rubyforge.org/projects/jaxdoc/) sudo cp ajax_generator.rb /usr/local/lib/ruby/1.8/rdoc/generators sudo cp -R ajax...
Related posts brought to you by Yet Another Related Posts Plugin.
Leave a Comment