`
xiaoyu966
  • 浏览: 257913 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

centos/rhel 下 nginx 自启动脚本

阅读更多

============================================================================

原创作品,允许转载。转载时请务必以超链接形式标明原始出处、以及本声明。

请注明转自:http://yunjianfei.iteye.com/blog/

============================================================================

在centos、rhel的OS下,我们一般通过chkconfig来管理服务,比如开机自动启动服务之类。

这里我贴出一个很好用的nginx启动脚本。以及简单的使用,如下:

 

1. 执行如下命令:

vim /etc/init.d/nginxd

 2.输入如下内容:

注意:该文件中的如下几个变量,都需要根据你实际的目录来改写。

nginx="/usr/local/nginx/sbin/nginx"   ##nginx的可执行文件路径

lockfile="/var/nginx/nginx.lock"     ##需要先创建/var/nginx目录

NGINX_CONF_FILE="/etc/nginx/nginx.conf"  ##需要先创建该配置文件

 

 

#!/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

# 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/local/nginx/sbin/nginx"
prog=$(basename $nginx)

sysconfig="/etc/sysconfig/$prog"
lockfile="/var/nginx/nginx.lock"
pidfile="/var/nginx/${prog}.pid"

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

[ -f $sysconfig ] && . $sysconfig


start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    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 -p $pidfile $prog
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    configtest_q || return 6
    stop
    start
}

reload() {
    configtest_q || return 6
    echo -n $"Reloading $prog: "
    killproc -p $pidfile $prog -HUP
    echo
}

configtest() {
    $nginx -t -c $NGINX_CONF_FILE
}

configtest_q() {
    $nginx -t -q -c $NGINX_CONF_FILE
}

rh_status() {
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

# Upgrade the binary with no downtime.
upgrade() {
    local oldbin_pidfile="${pidfile}.oldbin"

    configtest_q || return 6
    echo -n $"Upgrading $prog: "
    killproc -p $pidfile $prog -USR2
    retval=$?
    sleep 1
    if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]];  then
        killproc -p $oldbin_pidfile $prog -QUIT
        success $"$prog online upgrade"
        echo 
        return 0
    else
        failure $"$prog online upgrade"
        echo
        return 1
    fi
}

# Tell nginx to reopen logs
reopen_logs() {
    configtest_q || return 6
    echo -n $"Reopening $prog logs: "
    killproc -p $pidfile $prog -USR1
    retval=$?
    echo
    return $retval
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest|reopen_logs)
        $1
        ;;
    force-reload|upgrade) 
        rh_status_q || exit 7
        upgrade
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    status|status_q)
        rh_$1
        ;;
    condrestart|try-restart)
        rh_status_q || exit 7
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop|reload|configtest|status|force-reload|upgrade|restart|reopen_logs}"
        exit 2
esac

保存完毕之后,可以执行以下命令来启动nginx

chmod 777  /etc/init.d/nginxd 
/etc/init.d/nginxd start

  

 

3. 配置开机启动

执行以下命令:

chkconfig nginxd on

 可以以下命令查看是否成功

chkconfig --list | grep nginxd

 

 

0
0
分享到:
评论

相关推荐

    centos/rhel下实现nginx自启动脚本实例

    通常在centos、rhel的OS下,我们大多是通过chkconfig来管理服务,比如开机自动启动服务之类。 这里给大家介绍一个很好用的nginx启动脚本。以及简单的使用,如下: 1. 执行如下命令: vim /etc/init.d/nginxd 2....

    解决Nginx启动脚本在redhat上不兼容问题

    ### 解决Nginx启动脚本在RedHat上不兼容问题 #### 背景介绍 在RedHat系统中部署Nginx时,可能会遇到原生的启动脚本与系统环境不兼容的情况,导致Nginx无法正常启动。本文将详细介绍如何解决这一问题,并提供一种...

    nginx-linux-1.24.0.tar.gz

    # 对于CentOS/RHEL sudo yum install gcc pcre-devel openssl-devel zlib-devel ``` 接下来,进入Nginx源码目录并配置编译选项。Nginx提供了丰富的配置选项,可以根据需要定制。一个基本的配置命令可能如下: ```...

    linux nginx安装

    在Linux系统中,Nginx是一款高性能的HTTP...总之,安装Nginx需要安装依赖、配置、编译和设置启动脚本。了解这些步骤有助于你更好地管理和优化你的Web服务器。在实际操作过程中,请务必根据你的具体系统和需求进行调整。

    apache与nginx安装使用

    启动命令分别是`sudo systemctl start nginx`(Ubuntu/CentOS/RHEL)。 3. **配置Nginx**: Nginx的主配置文件通常位于`/etc/nginx/nginx.conf`。网站配置文件存储在`/etc/nginx/sites-available`目录下,启用...

    linux 下 Nginx 0.8.40的安装

    为了使Nginx在系统启动时自动启动,可以创建一个启动脚本,例如在Systemd系统中: ```bash sudo nano /etc/systemd/system/nginx.service ``` 然后输入以下内容(根据实际情况调整路径): ``` [Unit] ...

    nginx 升级为最新版 1.12.0

    最后,为了在系统启动时自动启动Nginx,可以创建一个系统服务单元文件(Systemd)或启动脚本(init.d)。对于Systemd,可以创建`/etc/systemd/system/nginx.service`,并在其中输入以下内容: ```ini [Unit] ...

    Linux自动化脚本安装Nginx使用说明

    1. **安装必备工具**:在开始安装Nginx之前,确保系统已经安装了必要的软件包管理器,如`apt`(Ubuntu/Debian)或`yum`(CentOS/RHEL)。这些包管理器能帮助我们便捷地安装和更新软件。 2. **更新系统**:在执行...

    nginx for linux安置程序

    在源码目录下运行配置脚本,并指定安装路径: ``` ./configure --prefix=/usr/local/nginx make sudo make install ``` 5. 启动Nginx: ``` /usr/local/nginx/sbin/nginx ``` 6. 验证Nginx是否启动成功:...

    CentOS6.3安装nginx操作指南

    总结,安装Nginx在CentOS 6.3上涉及多个步骤,包括安装依赖、编译源码、配置启动脚本以及定制配置。这需要一定的Linux基础和对Nginx的理解。通过这个过程,我们可以确保Nginx在我们的服务器上以最佳状态运行,为用户...

    nginx笔记+JAVA+运维

    在 CentOS/RHEL 系统中,可以: 1. **关闭防火墙**: `systemctl stop firewalld.service`,并禁用开机启动:`systemctl disable firewalld.service` 2. **开放端口**: `firewall-cmd --zone=public --add-port=80/...

    nginx部署所需软件包

    安装完成后,Nginx的启动脚本通常位于`/usr/local/nginx/sbin/nginx`。使用`sudo /usr/local/nginx/sbin/nginx`启动Nginx,或使用`sudo systemctl start nginx`(对于支持systemd的系统)。 7. **配置文件**: ...

    nginx安装包

    根据你的系统创建Nginx的启动和停止脚本,例如在Ubuntu上: ``` sudo cp objs/nginx /etc/init.d/nginx sudo chmod +x /etc/init.d/nginx ``` 6. **启动Nginx** 使用以下命令启动Nginx: ``` sudo service ...

    Nginx安装包及PCRE安装包及操作步骤

    - 自定义安装路径的 Nginx,需要手动创建启动脚本并添加开机启动。 - 启动 Nginx:`/home/user/nginx/sbin/nginx` - 停止 Nginx:`/home/user/nginx/sbin/nginx -s stop` - 检查 Nginx 是否运行:`ps aux | grep...

    linux下nginx的安装

    6. **启动与管理**:安装完成后,可以在Nginx的安装路径下找到启动脚本,如`/usr/local/nginx/sbin/nginx`。启动Nginx: ``` sudo /usr/local/nginx/sbin/nginx ``` 停止或重启Nginx,可以使用`nginx -s stop`或...

    nginx在Linux搭建环境需要的包

    为了使Nginx作为服务启动,你可以创建一个系统服务脚本,如`systemd`的服务单元文件: ```bash sudo nano /etc/systemd/system/nginx.service ``` 在编辑器中输入以下内容,然后保存并退出(按`Ctrl+X`,然后`Y`,...

    Nginx在Linux中系统服务配置脚本1

    首先,脚本创建在`/etc/init.d/nginx`路径下,这是Linux标准的初始化脚本存放位置,用于系统启动时运行或手动调用。脚本通常遵循一定的格式和约定,以便`chkconfig`工具能够识别并管理服务的启动、停止和自动启动...

    Linux离线安装Nginx资源包

    然后按照Nginx官方文档的示例编写服务脚本,保存并关闭文件。接着,执行以下命令: ```bash sudo chmod +x /etc/init.d/nginx sudo update-rc.d nginx defaults sudo /etc/init.d/nginx start ``` 至此,你已经...

Global site tag (gtag.js) - Google Analytics