`

Red Hat Nginx Init Script

 
阅读更多

 

Should work on RHEL, Fedora, CentOS. Tested on CentOS 5.

Save this file as /etc/init.d/nginx

#!/bin/sh

#

# nginx - this script starts and stops the nginx daemon

#

# chkconfig:   - 85 15 

# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \

#               proxy and IMAP/POP3 proxy server

# processname: nginx

# config:      /etc/nginx/nginx.conf

# config:      /etc/sysconfig/nginx

# pidfile:     /var/run/nginx.pid

 
# Source function library.

. /
etc/
rc.d/
init.d/
functions
 
# Source networking configuration.

. /
etc/
sysconfig/
network
 
# Check that networking is up.

[
 "$NETWORKING
"
 = "no"
 ]
 &&
 exit
 0

 
nginx
="/usr/sbin/nginx"

prog
=$(
basename
 $nginx
)

 
NGINX_CONF_FILE
="/etc/nginx/nginx.conf"

 
[
 -f
 /
etc/
sysconfig/
nginx ]
 &&
 . /
etc/
sysconfig/
nginx
 
lockfile
=/
var/
lock/
subsys/
nginx
 
make_dirs(
)
 {

   # make required directories

   user
=`
$nginx
 -V
 2
>&
1
 |
 grep
 "configure arguments:"
 |
 sed
 's/[^*]*--user=\([^ ]*\).*/\1/g'
 -`

   if
 [
 -z
 "`grep $user /etc/passwd`
"
 ]
; then

       useradd -M
 -s
 /
bin/
nologin $user

   fi

   options
=`
$nginx
 -V
 2
>&
1
 |
 grep
 'configure arguments:'
`

   for
 opt in
 $options
; do

       if
 [
 `
echo
 $opt
 |
 grep
 '.*-temp-path'
`
 ]
; then

           value
=`
echo
 $opt
 |
 cut
 -d
 "="
 -f
 2
`

           if
 [
 !
 -d
 "$value
"
 ]
; then

               # echo "creating" $value

               mkdir
 -p
 $value
 &&
 chown
 -R
 $user
 $value

           fi

       fi

   done

}

 
start(
)
 {

    [
 -x
 $nginx
 ]
 ||
 exit
 5

    [
 -f
 $NGINX_CONF_FILE
 ]
 ||
 exit
 6

    make_dirs
    echo
 -n
 $"Starting $prog
: "

    daemon $nginx
 -c
 $NGINX_CONF_FILE

    retval
=$?

    echo

    [
 $retval
 -eq
 0
 ]
 &&
 touch
 $lockfile

    return
 $retval

}

 
stop(
)
 {

    echo
 -n
 $"Stopping $prog
: "

    killproc $prog
 -QUIT

    retval
=$?

    echo

    [
 $retval
 -eq
 0
 ]
 &&
 rm
 -f
 $lockfile

    return
 $retval

}

 
restart(
)
 {

    configtest ||
 return
 $?

    stop
    sleep
 1

    start
}

 
reload(
)
 {

    configtest ||
 return
 $?

    echo
 -n
 $"Reloading $prog
: "

    killproc $nginx
 -HUP

    RETVAL
=$?

    echo

}

 
force_reload(
)
 {

    restart
}

 
configtest(
)
 {

  $nginx
 -t
 -c
 $NGINX_CONF_FILE

}

 
rh_status(
)
 {

    status $prog

}

 
rh_status_q(
)
 {

    rh_status >/
dev/
null 2
>&
1

}

 
case
 "$1"
 in

    start)

        rh_status_q &&
 exit
 0

        $1

        ;;

    stop)

        rh_status_q ||
 exit
 0

        $1

        ;;

    restart|
configtest)

        $1

        ;;

    reload)

        rh_status_q ||
 exit
 7

        $1

        ;;

    force-reload)

        force_reload
        ;;

    status)

        rh_status
        ;;

    condrestart|
try-restart)

        rh_status_q ||
 exit
 0

            ;;

    *
)

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

        exit
 2

esac
分享到:
评论

相关推荐

    Linux学习教程之 Red Hat Linux 基础教程

    Linux学习教程,特别是针对Red Hat Linux的基础教程,是IT领域新手和进阶者的重要学习资源。Red Hat Linux作为一款广泛使用的开源操作系统,以其稳定性和强大的企业级服务支持而备受推崇。本教程旨在帮助用户理解...

    red hat enterprise 7 .pdf

    《Red Hat Enterprise 7》是Red Hat公司发布的一款企业级操作系统,主要面向商业环境,提供稳定、高效且安全的Linux平台。本系统基于Fedora项目,经过严格的测试和优化,确保了在生产环境中的可靠性和性能。以下是...

    linux 环境 nginx安装包

    对于基于Red Hat或CentOS的系统: ```bash $ sudo yum update $ sudo yum groupinstall "Development Tools" $ sudo yum install pcre-devel openssl-devel zlib-devel ``` 接下来,配置Nginx以适应你的系统需求。...

    nginx安装环境及nginx_1.18.0安装包

    在Linux环境中,RPM(Red Hat Package Manager)是用于安装和管理软件包的一种方式。在你的压缩包子文件名称列表中提到的`rpm`,可能指的是Nginx的RPM包。对于使用RPM包管理系统的发行版(如Fedora、CentOS等),...

    nginx基于red7.3源码部署.zip

    在Red Hat Enterprise Linux (RHEL) 7.3系统上进行Nginx的源码部署是一项重要的技能,尤其对于系统管理员和开发人员来说。下面将详细介绍如何基于Nginx 1.18.0(假设为当前稳定版本)的源码在RHEL 7.3上进行部署,并...

    nginx安装配置全攻略

    - 在CentOS或Red Hat Enterprise Linux中,可以通过以下命令临时关闭防火墙: ```bash # service iptables stop ``` - 要永久关闭防火墙,则需编辑`/etc/sysconfig/iptables`或`/etc/sysconfig/iptables-config...

    linux中离线安装nginx.含相关依赖组件

    sudo ln -s /usr/local/nginx/init.d/nginx /etc/rc.d/init.d/ chkconfig --add nginx chkconfig nginx on ``` 最后,检查Nginx是否正常运行,可以通过`netstat -tuln | grep nginx`查看监听的端口,或访问配置的...

    Linux下安装nginx,内附安装文档,包含前置环境gcc,openssl

    # 对于基于Red Hat或CentOS的系统 sudo yum install gcc ``` 接下来,我们要安装OpenSSL,这是一个用于加密通信的库,Nginx在处理HTTPS请求时会用到。安装过程如下: ```bash # 对于基于Debian或Ubuntu的系统 sudo...

    nginx-1.7.6.tar.gz

    对于基于Red Hat或CentOS的系统,执行以下命令: ```bash sudo yum update sudo yum groupinstall "Development Tools" sudo yum install openssl-devel pcre-devel zlib-devel ``` 接下来,我们下载Nginx 1.7.6的...

    centos6.5安装nginx,gcc依赖包编译环境(含命令)

    CentOS 6.5是一款基于RHEL(Red Hat Enterprise Linux)的开源操作系统,适用于服务器环境。Nginx则是一个高性能的HTTP和反向代理服务器,以其高效、稳定和低内存占用而闻名。 **安装GCC编译环境** 在CentOS 6.5上...

    rpm_nginx1.18.zip

    在Linux系统中,RPM(Red Hat Package Manager)是一种用于安装、升级、查询、验证和删除软件包的工具,它遵循特定的文件格式标准。Nginx则是一款高性能的HTTP和反向代理服务器,常用于网站服务器和负载均衡器。 ...

    nginx+redhat5.5 负载均衡

    在本文中,我们将深入探讨如何在Red Hat Enterprise Linux 5.5 (RHEL 5.5)上使用Nginx实现负载均衡。Nginx是一个高性能的HTTP和反向代理服务器,广泛用于处理高流量网站的负载分配。下面将详细介绍搭建和配置Nginx...

    Nginx HTTP Server ( PDFDrive ).pdf

    安装完成后,启动和停止Nginx服务可以通过命令行开关实现,或者将其设置为系统服务,使用init脚本进行管理,以适应不同的Linux发行版,如Debian和Red Hat。 接下来,基础的Nginx配置涉及到配置文件的语法和指令。...

    CentOS6.3安装nginx操作指南

    首先,我们需要理解的是,CentOS 6.3是一款基于RHEL(Red Hat Enterprise Linux)的Linux发行版,对于服务器环境非常稳定,但其默认的软件仓库可能不包含最新版本的Nginx。因此,我们通常会通过添加额外的软件仓库...

    nginx-1.0.6.tar.gz

    对于基于 Red Hat/CentOS 的系统: ```bash sudo yum install pcre-devel openssl-devel zlib-devel ``` ### 第四步:配置编译选项 进入 `nginx-1.0.6` 目录,并根据你的需求配置编译选项。基本的配置命令如下: ...

    nginx在Linux下的安装方法.pdf

    对于基于Red Hat或CentOS的系统,使用以下命令: ```bash sudo yum install epel-release sudo yum install gcc pcre-devel zlib-devel openssl-devel ``` 接下来,从Nginx官方网站下载最新的源代码包,例如: ``...

    Linux nginx mysql php LNMP环境搭建

    本指南适用于基于Red Hat系的Linux发行版,如CentOS或RHEL等。 ##### 1. 系统更新与基本软件包安装 ```bash yum -y update yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel ...

    nginx及其安装时依赖的rpm包

    在Linux系统,尤其是CentOS这样的企业级发行版上,通常通过RPM(Red Hat Package Manager)包管理器进行安装。 在描述中提到的`rpm`命令是Linux下的包管理工具,用于安装、升级、查询、验证和删除RPM软件包。`-Uvh`...

    Linux下yum安装nginx教程

    通常情况下,CentOS和Red Hat等Linux发行版会预置一些官方源,但是这些源中可能没有包含Nginx。因此,需要添加Nginx官方的yum源或者第三方源。通过在/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo,可以指定...

    详细linux yum lnmp

    Yum(Yellowdog Updater, Modified)是Red Hat Linux及其衍生版本如CentOS中的包管理器,用于安装、更新和管理软件包。在本教程中,我们将详细讲解如何使用Yum在CentOS 6.2上搭建LAMP(Linux + Apache + MySQL + PHP...

Global site tag (gtag.js) - Google Analytics