centos下Nginx服务启动shell脚本

Nginx 服务启动脚本

 

 代码如下 复制代码

#! /bin/sh

# chkconfig: 2345 55 25

# Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and

# run 'update-rc.d -f nginx defaults', or use the appropriate command on your

# distro. For CentOS/Redhat run: 'chkconfig –add nginx'

 

### BEGIN INIT INFO

# Provides:          nginx

# Required-Start:    $all

# Required-Stop:     $all

# 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 INFO

 

# Author:   licess

# website:  http://lnmp.org

 

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

NAME=nginx

NGINX_BIN=/usr/local/nginx/sbin/$NAME

CONFIGFILE=/usr/local/nginx/conf/$NAME.conf

PIDFILE=/usr/local/nginx/logs/$NAME.pid

 

case "$1" in

    start)

        echo -n "Starting $NAME… "

 

        if netstat -tnpl | grep -q nginx;then

            echo "$NAME (pid `pidof $NAME`) already running."

            exit 1

        fi

 

        $NGINX_BIN -c $CONFIGFILE

 

        if [ “$?” != 0 ] ; then

            echo " failed"

            exit 1

        else

            echo " done"

        fi

        ;;

 

    stop)

        echo -n "Stoping $NAME… "

 

        if ! netstat -tnpl | grep -q nginx; then

            echo "$NAME is not running."

            exit 1

        fi

 

        $NGINX_BIN -s stop

 

        if [ “$?” != 0 ] ; then

            echo " failed. Use force-quit"

            exit 1

        else

            echo " done"

        fi

        ;;

 

    status)

        if netstat -tnpl | grep -q nginx; then

            PID=`pidof nginx`

            echo "$NAME (pid $PID) is running…"

        else

            echo "$NAME is stopped"

            exit 0

        fi

        ;;

 

    force-quit)

        echo -n "Terminating $NAME… "

 

        if ! netstat -tnpl | grep -q nginx; then

            echo "$NAME is not running."

            exit 1

        fi

 

        kill `pidof $NAME`

 

        if [ “$?” != 0 ] ; then

            echo " failed"

            exit 1

        else

            echo " done"

        fi

        ;;

 

    restart)

        $0 stop

        sleep 1

        $0 start

        ;;

 

    reload)

        echo -n "Reload service $NAME… "

 

        if netstat -tnpl | grep -q nginx; then

            $NGINX_BIN -s reload

            echo " done"

        else

            echo "$NAME is not running, can't reload."

            exit 1

        fi

        ;;

 

    configtest)

        echo -n "Test $NAME configure files… "

 

        $NGINX_BIN -t

        ;;

 

    *)

        echo "Usage: $0 {start|stop|force-quit|restart|reload|status|configtest}"

        exit 1

        ;;

例子2

把以下脚本保存为nginx文件放入/etc/init.d/nginx

然后可以通过

 代码如下 复制代码
/etc/init.d/nginx start 命令启动nginx
/etc/init.d/nginx stop 命令停止nginx
/etc/init.d/nginx restart 命令重启nginx

开机自动启动nginx,

如果需要开机启动服务,保存好 /etc/init.d/nginx文件后,

执行以下命令:

 代码如下 复制代码

chkconfig --add ningx

chkconfig --level nginx 2345 on

你也可以直接下载nginx启动停止脚本

---------------------分割线下是脚本内容,红色字体需要你修改-------------------------------------------

 代码如下 复制代码

#! /bin/sh

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/$NAME.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

set -e
[ -x "$DAEMON" ] || exit 0

do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}

do_stop() {
kill -INT cat $PIDFILE || echo -n "nginx not running"
}

do_reload() {
kill -HUP cat $PIDFILE || echo -n "nginx can't reload"
}

case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac

exit 0

时间: 2024-09-13 05:34:50

centos下Nginx服务启动shell脚本的相关文章

Linux下mongodb服务操作shell脚本

前些天,一位开发同事找到我,说他测试环境的 mongodb 经常挂掉,要我写一个监控或复活的脚本.我觉得很奇怪,测试环境又没啥负载,经常挂掉肯定有非常规原因.跑过去看了一下日志,发现存在stop记录,我就纳闷了,没人操作他还会自己stop.这明显不是挂掉了,于是到history中看了下同事的启动命令: /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/data/mongodb.log --loga

CentOS下mysql定时备份Shell脚本分享_linux shell

1.备份语句  复制代码 代码如下: # /usr/local/mysql/bin/mysqldump -utest -ptest test --socket=/tmp/mysql.3306.sock > /usr/local/mysql_backup/3306/test-`date +%Y%m%d`.sql.gz  语句说明:   /usr/local/mysql/bin/mysqldump:MySql安装目录下 -utest:分为两块,一块为-u一块为test:其中-u表示其为用户名,tes

CentOS下SVN服务的启动与关闭

CentOS下SVN服务的启动与关闭 CentOS下SVN服务的启动与关闭 操作系统:CentOS 6.5  SVN版本:1.8.11 启动SVN服务:  svnserve -d -r /home/svn /home/svn 为版本库的根目录: 关闭SVN服务:  使用以下命令查找进程  ps aux | grep svn # ps aux | grep svnroot64434 0.0 0.0181584 1120 ? Ss 02:010:00 svnserve-d -r /home/svnr

CentOS 7下MySQL服务启动失败的快速解决方法_Mysql

今天,启动MySQL服务器失败,如下所示: [root@spark01 ~]# /etc/init.d/mysqld start Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe&qu

centos-跪求resin3在centOS下的开机启动攻略。。

问题描述 跪求resin3在centOS下的开机启动攻略.. 如题,现在已经做了集群,但是不知道怎么设置这几个端口的开机启动,希望各位大侠指教. 如果不方便解答发邮箱也可以:25556651@qq.com 拜托各位大侠,或者给我一个教程的网站也可以,拜托~ PS:resin版本: resin-pro-3.1.12 cent版本:centOS6.3 解决方案 http://shellfish.iteye.com/blog/358766 参考 解决方案二: init开机脚本

Windows下Nginx的启动、停止等命令&Nginx 配置多域名&windows下设置Nginx开机自动启动

Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍. 1.启动: C:\server\nginx-1.0.2>start nginx 或 C:\server\nginx-1.0.2>nginx.exe 注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作. 2.停止: C:\server\nginx-1.0.2>ngin

php管理nginx虚拟主机shell脚本实例_php技巧

本文实例讲述了php管理nginx虚拟主机shell脚本,分享给大家供大家参考.具体分析如下: 使用php作为shell脚本是一件很方便的事情.理所当然,我们可以使用php脚本来管理 nginx虚拟主机,下面是笔者的 脚本 文件供各位参考: 复制代码 代码如下: #!/usr/bin/php -q <?php   start: fwrite(STDOUT,"===========Vhost Script===========\n"); fwrite(STDOUT,"=

批量转换目录下文件编码的shell脚本代码_linux shell

一例批量转换目录下文件编码的shell脚本代码. 需求描述:由于从window转linux过来,很多原来win下的gbk文件需要转换成utf8. 以下脚本仅判断非utf8文件转换成utf8文件,并且默认非utf8文件为gbk,如果文件类型不一致需要修改. 例子: 复制代码 代码如下: #!/bin/bash# File Name: iconv.sh# Author: wanggy# site: www.jb51.net#show_file(){    for file in `ls $1`   

详解CentOS下Nginx如何禁止IP访问_Linux

我们就先看看Nginx的默认虚拟主机在用户通过IP访问,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的ip)的时候生效最关键的一点是,在server的设置里面添加这一行: listen 80 default; 后面的default参数表示这个是默认虚拟主机. Nginx 禁止IP访问这个设置非常有用. 比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500.目前国内很多机房都要求网站主关闭空主机头,防止未备案的域名指向过来造成麻烦. 就可以这样