用start-stop-daemon启动Nginx
来源:互联网 发布:分辨率知乎 编辑:程序博客网 时间:2024/04/27 18:05
在前面学习Ubuntu apt-get install nginx 创建的nginx启动脚本中,看到start-stop-daemon的用法。
迅速查了一下手册(用man start-stop-daemon)。这个程序用来启动和关闭系统级别的进程。
下面我用该命令启动我自己编译的nginx程序:
start-stop-daemon --start --quiet --make-pidfile --pidfile /opt/nginx.pid --exec /home/chenshu/nginx/bin/nginx -- -c /home/chenshu/nginx/etc_nginx/nginx.conf注意,这里都使用绝对路径,相对路径会有问题。
--pidfile 指定了保存进程id的文件 /opt/nginx.pid--exec 指定了可执行程序-- 之后加上传递给nginx的参数 -c /home/chenshu/nginx/etc_nginx/nginx.conf--make-pidfile 使用 是因为有时候start-stop-daemon 不产生pidfile
单独运行nginx的时候,还可以指定 -t参数用于测试-c 参数指定的配置文件是否正确。
由于我要将所有的nginx程序,日志,配置都放在/home/dist/carrier/nginx目录下,因此对应的修改启动脚本/etc/init.d/nginx
由于没有找到办法指定error log的位置. 因此现在绕过的方法是 编译nginx的时候使用--prefix=/home/dist/carrier/nginx参数。
这里用到了之前没有用的DAEMON_OPTS变量,传递-c参数。注意,必须用双引号。
#!/bin/sh### BEGIN INIT INFO# Provides: nginx# Required-Start: $local_fs $remote_fs $network $syslog# Required-Stop: $local_fs $remote_fs $network $syslog# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: starts the nginx web server# Description: starts nginx using start-stop-daemon### END INIT INFOPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binCARRIER_HOME=/home/dist/carrierDAEMON=$CARRIER_HOME/nginx/bin/nginxPID_FILE=$CARRIER_HOME/nginx/nginx.pidCONFIG_FILE=$CARRIER_HOME/nginx/conf/nginx.confDAEMON_OPTS="-c $CONFIG_FILE"NAME=nginxDESC=nginx# Include nginx defaults if availableif [ -f /etc/default/nginx ]; then. /etc/default/nginxfitest -x $DAEMON || exit 0set -e. /lib/lsb/init-functionstest_nginx_config() {if $DAEMON -t $DAEMON_OPTS >/dev/null 2>&1; thenreturn 0else$DAEMON -t $DAEMON_OPTSreturn $?fi}case "$1" instart)echo -n "Starting $DESC: "test_nginx_config# Check if the ULIMIT is set in /etc/default/nginxif [ -n "$ULIMIT" ]; then# Set the ulimitsulimit $ULIMITfistart-stop-daemon --start --quiet --make-pidfile --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS || trueecho "$NAME.";;stop)echo -n "Stopping $DESC: "start-stop-daemon --stop --quiet --pidfile $PID_FILE --exec $DAEMON || trueecho "$NAME.";;restart|force-reload)echo -n "Restarting $DESC: "start-stop-daemon --stop --quiet --pidfile $PID_FILE --exec $DAEMON || truesleep 1test_nginx_config# Check if the ULIMIT is set in /etc/default/nginxif [ -n "$ULIMIT" ]; then# Set the ulimitsulimit $ULIMITfistart-stop-daemon --start --quiet --make-pidfile --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS || trueecho "$NAME.";;reload)echo -n "Reloading $DESC configuration: "test_nginx_configstart-stop-daemon --stop --signal HUP --quiet --pidfile $PID_FILE --exec $DAEMON || trueecho "$NAME.";;configtest|testconfig)echo -n "Testing $DESC configuration: "if test_nginx_config; thenecho "$NAME."elseexit $?fi;;status)status_of_proc -p $PID_FILE "$DAEMON" nginx && exit 0 || exit $?;;*)echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&2exit 1;;esacexit 0
- 用start-stop-daemon启动Nginx
- 用start-stop-daemon启动Nginx
- START-STOP-DAEMON
- start-stop-daemon example
- start-stop-daemon
- start-stop-daemon命令
- man start-stop-daemon
- start-stop-daemon
- start-stop-daemon
- start-stop-daemon example
- Manpage: start-stop-daemon
- start-stop-daemon
- start-stop-daemon
- 使用start-stop-daemon工具来启动hudson slave
- Nginx的启动(start),停止(stop)命令
- Nginx的启动(start),停止(stop)命令
- nginx start/stop
- 关于nginx的启动(start) 停止(stop)命令
- 程序员,值得被尊敬的职业
- 深度解析Java内存的原型
- 圆圈中最后剩下的数字[算法]
- c还是java(雨思版)
- 基于STM32的USB枚举过程学习笔记(四)
- 用start-stop-daemon启动Nginx
- Windows核心编程学习笔记(20)--同步设备I/O与异步设备I/O1
- 优化Java堆大小的5个技巧
- volume rendering 从opengl到cuda pbo实现 解析
- 搭建tiny6410驱动开发环境_NFS共享文件
- 函数式编程扫盲篇
- extjs的store默认加载数据时,增加本地一条数据
- 表空间 使用 oracle 查询 表级锁 锁表 SQL语句 数据库 等待最多 实际SQL 会话 连接数 死锁 进程
- 吸血鬼数字