OS:CentOS/Redhat 系列

并在 Centos 6.7 和 Centos 7.2 上测试正常

#!/bin/bash
#
# auth: daxin
# time: 2018/07/10
#
# nginx start nginx web server
#
# chkconfig: - 10 90
# description: Start, stops and reload nginx web server
#
# config: /usr/local/nginx/conf/nginx.conf
# config: /usr/local/nginx/conf/vhosts
#
### BEGIN INIT INFO
# Provides: nginx
# Required-Start:
# Required-Stop:
# Default-Start: 3
# Default-Stop:
# Short-Description: start and stop nginx web server
# Description: Start, stop and reload nginx web server
### END INIT INFO # Source function library
. /etc/init.d/functions NGINX_DIR="/usr/local/nginx"
NGINX="${NGINX_DIR}/sbin/nginx"
NGINX_CONF="${NGINX_DIR}/conf/nginx.conf"
PROG=$(basename $NGINX)
LOCK_FILE="${NGINX_DIR}/${PROG}.lock" # check Command exists
if [ ! -x ${NGINX} ]; then
echo -n $"${NGINX} does not exists."; warning; echo
exit 5
fi function start() {
[ -f $NGINX_CONF ] || exit 6
$NGINX -c $NGINX_CONF
retval=$?
if [ $retval -eq 0 ]; then
touch $LOCK_FILE
action "Starting $PROG" /bin/true
else
action "Starting $PROG" /bin/false
fi
return $retval
} function stop() {
pkill $PROG
retval=$?
if [ $retval -eq 0 ]; then
rm -f $LOCK_FILE
action "Stop $PROG" /bin/true
else
action "Stop $PROG" /bin/false
fi
return $retval
} function restart() {
configtest_q || return 6
stop
start
} function reload() {
configtest_q || return 6
nginx_main_process=$(ps aux | grep $NGINX | grep -v grep | awk '{print $2}')
kill -HUP $nginx_main_process
retval=$?
if [ $retval -eq 0 ]; then
action "Reload $PROG" /bin/true
else
action "Reload $PROG" /bin/false
fi
return $retval
} function configtest_q() {
$NGINX -t -c $NGINX_CONF
} function status() {
nginx_main_process=$(ps aux | grep $NGINX | grep -v grep | awk '{print $2}')
if [ -z $nginx_main_process ]; then
action "$PROG is not running" /bin/false
else
action "$PROG is runing" /bin/true
fi
} case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
restart
;;
configtest)
configtest_q
;;
status)
status
;;
*)
echo $"Usage: $0 {start|stop|reload|configtest|status|restart}"
exit 2
esac
  

  

Shell脚本 - nginx启动脚本的更多相关文章

  1. shell脚本之nginx启动脚本、统计日志字段、for循环实战、跳板机

    1.NGINX启动脚本 #!/bin/bash # chkconfig: 235 32 62 # description: nginx [ -f /etc/init.d/functions ] &am ...

  2. linux nginx 启动脚本

    linux nginx 启动脚本 [root@webtest76 ~]# vi /etc/init.d/nginx #!/bin/bash # nginx Startup script for the ...

  3. Nginx 启动脚本/重启脚本

    第一步先运行命令关闭nginx sudo kill `cat /usr/local/nginx/logs/nginx.pid` 第二步 vi /etc/init.d/nginx 输入以下内容 #!/b ...

  4. nginx启动脚本,手动编辑

    nginx启动脚本,手动编辑 #! /bin/bash # chkconfig: - # description: nginx service XDIR=/www/server/nginx DESC= ...

  5. centos LNMP第一部分环境搭建 LAMP LNMP安装先后顺序 php安装 安装nginx 编写nginx启动脚本 懒汉模式 mv /usr/php/{p.conf.default,p.conf} php运行方式SAPI介绍 第二十三节课

    centos  LNMP第一部分环境搭建 LAMP安装先后顺序  LNMP安装先后顺序 php安装 安装nginx  编写nginx启动脚本   懒汉模式  mv   /usr/local/php/{ ...

  6. Nginx 启动脚本

    Nginx 启动脚本 1.vim /etc/init.d/nginx #!/bin/bash # chkconfig: - 30 21 # description: http service. # S ...

  7. LNMP 1.4 nginx启动脚本和配置文件

    编写Nginx启动脚本,写入下面这段,授权755 vim /etc/init.d/nginx #!/bin/bash # chkconfig: - # description: http servic ...

  8. nginx启动脚本和配置文件

    1.编写Nginx启动脚本,并加入系统服务 vim /etc/init.d/nginx并在其中写入如下内容:#!/bin/bash# chkconfig: - 30 21# description: ...

  9. nginx启动脚本(class练习)

    说明:使用类的方式编写程序启动脚本(练习) 1 #!/usr/bin/env python import sys import os from subprocess import Popen,PIPE ...

随机推荐

  1. QT分析之调试跟踪系统

    原文地址:http://blog.163.com/net_worm/blog/static/127702419201002004518944/ 在我们前面的分析中,经常看到qWarning()和qDe ...

  2. HSF原理

    HSF(High-speed Service Framework),高速服务框架,是阿里系主要采用的服务框架,其目的是作为桥梁联通不同的业务系统,解耦系统之间的实现依赖.其高速体现在底层的非阻塞I/O ...

  3. java计算某日期之后的日期

    public static void main(String[] args) { // 时间表示格式可以改变,yyyyMMdd需要写例如20160523这种形式的时间 SimpleDateFormat ...

  4. 【bzoj4842】[Neerc2016]Delight for a Cat 线性规划与网络流

    题目描述 $n$ 个连续的位置,每个位置可以填入 S 和 E ,第 $i$ 个位置填入 S 可以获得 $s_i$ 的收益,填入 E 可以获得 $e_i$ 的收益.要求每连续的 $k$ 个位置必须包含至 ...

  5. 【bzoj1370】[Baltic2003]Gang团伙 并查集

    题目描述 在某城市里住着n个人,任何两个认识的人不是朋友就是敌人,而且满足: 1. 我朋友的朋友是我的朋友: 2. 我敌人的敌人是我的朋友: 所有是朋友的人组成一个团伙.告诉你关于这n个人的m条信息, ...

  6. (转)python 搭建libsvm方法。python版本和libsvm版本匹配很重要!

    <集体智慧编程>关于婚介数据集的SVM分类 转自:http://muilpin.blog.163.com/blog/static/165382936201131875249123/   作 ...

  7. Oracle数据库表被锁定以及去除方式

    select t2.username, t2.sid, t2.serial#, t3.object_name, t2.OSUSER, t2.MACHINE, t2.PROGRAM, t2.LOGON_ ...

  8. apply的理解和数组降维

    func.apply(thisObj, [argArray] ); apply方法用来改变函数执行时的this指向,后面的参数是一个类数组对象,可以是数组,arguments,甚至一个有length属 ...

  9. BAT-Java必考面试题集

    2018最新<BAT Java必考面试题集> 1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象 ...

  10. Codeforces Round #394 (Div. 2)A水 B暴力 C暴力 D二分 E dfs

    A. Dasha and Stairs time limit per test 2 seconds memory limit per test 256 megabytes input standard ...