`
tuhaitao
  • 浏览: 378807 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

很好的nginx启动shell

阅读更多
    nginx是个好东东,性能就不说了,网上有很多文章,我学习时感觉到配置超简单,配置文件就是一个json,而且配置项让没有用过nginx的人一眼就能看懂,真的给人感觉棒!
    我在编译安装nginx后,每次启动很麻烦,我在fedora的rpm database中找到了一个很不错的shell,通过chkconfig加载到(/etcinit.d/rc*.d/)目录中去,很方便代码如下:

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15
# description:  Nginx chkconfig shell
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx/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

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 $prog
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

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

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

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

configtest_q() {
    configtest >/dev/null 2>&1
}

rh_status() {
    status $prog
}

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

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

    configtest_q || configtest || return 6
    echo -n $"Staring new master $prog: "
    killproc $nginx -USR2
    retval=$?
    echo 
    sleep 1
    if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]];  then
        echo -n $"Graceful shutdown of old $prog: "
        killproc -p ${oldbin_pidfile} -QUIT
        retval=$?
        echo 
        return 0
    else
        echo $"Something bad happened, manual intervention required, maybe restart?"
        return 1
    fi
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $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}"
        exit 2
esac

使用chkconfig加载shell设置成服务:
[root@localhost ~]# cp nginx /etc/init.d/nginx
[root@localhost ~]# cd /etc/init.d
[root@localhost init.d]# chkconfig --add nginx
[root@localhost init.d]# chkconfig --level 35 nginx on


下边启动nginx:
[root@localhost init.d]# service nginx start
启动 nginx:                                               [确定]


shell里还有其他的命令用起来都很方便,希望能帮助大家:)

分享到:
评论

相关推荐

    install_zabbix_nginx_shell_

    这个脚本对于初学者来说是一份很好的学习资料,可以了解如何通过Shell脚本自动化系统管理任务。同时,熟悉Zabbix和Nginx的集成,对于提升运维能力,特别是在大规模环境中部署和管理监控系统非常有帮助。 【注意事项...

    Windows下Nginx的安装与配置

    此时,Nginx应该已经开始运行,你可以在任务管理器中看到两个nginx.exe进程,并且占用的系统资源很少。打开浏览器,访问`http://127.0.0.1/`,你应该能看到Nginx的默认欢迎页面。 要停止、重新加载或退出Nginx,...

    coreos-lb-example:一个使用 CoreOS 的 nginx 负载平衡示例

    总结来说,"coreos-lb-example"是一个很好的实践教程,它涵盖了CoreOS、Nginx和Shell编程等多个重要IT知识点,有助于提升我们在云环境下的系统架构和运维能力。通过对该项目的学习和实践,我们可以更好地理解和运用...

    aws-nginx-wordpress-installtion:在AWS Bitnami NGINX之上部署WordPress

    下面将详细介绍在AWS上使用Bitnami NGINX部署WordPress的步骤、相关知识点以及可能涉及的Shell命令。 首先,我们需要创建一个AWS EC2实例。EC2是AWS的弹性计算服务,它提供按需的虚拟服务器。在AWS管理控制台中,...

    linux常用的服务脚本大全.zip

    在Linux系统中,服务脚本是管理后台服务的重要工具,它们通常以shell脚本的形式存在,用于启动、停止、重启或检查服务的状态。这个名为"Linux常用的服务脚本大全.zip"的压缩包很可能包含了多种常见服务的启动脚本,...

    快捷运维,,项目基于shell、python,运维脚本工具库+源代码+文档说明

    - 快捷运维,代号:kjyw,运维脚本工具库,项目基于shell开发,收集各类运维常用工具脚本; - 实现快速安装nginx、mysql、php、redis、nagios、运维经常使用的脚本等等... - 简单 高效 快捷! - Linux下很多操作...

    Linux基础.zip

    Linux基础.zip这个压缩包文件包含了丰富的Linux学习资源,适合初学者到中级运维人员提升技能。以下将详细解析其中的关键知识点: 1. **Python3**:Python3是...对于想要在运维领域深化的人来说,这是一个很好的起点。

    nobbic:bb Nobbic可帮助您使用NodeBB,数据库,NGINX等容器快速设置Pod

    贵族Nobbic可以帮助你很好地适应 ,数据库和其他的东西到一个单一的吊舱与控制容器 。 虽然单独启动NodeBB docker容器非常容易,但是当您同时尝试启动数据库容器, 代理容器等时,事情很快就会复杂化,而同时尝试...

    Linux从入门到精通,讲解的很好的!!!

    此外,还需要理解进程管理,包括进程的启动、停止、监控和调度,以及使用`ps`、`top`、`kill`等命令进行进程操作。 网络和服务器配置也是Linux学习的重点。了解如何配置网络接口,使用`ifconfig`或`ip`命令,以及...

    homestead-custom:自定义的Laravel homestead脚本

    在IT行业中,Laravel Homestead 是一个非常受欢迎的开发环境工具,它为PHP开发者提供了一个预配置的Vagrant box,可以快速搭建...对于想要深入理解Laravel开发环境和虚拟化技术的开发者来说,这是一个很好的学习资源。

    Linux试验指导书

    1. 编辑器/IDE:Vim、Emacs、Visual Studio Code等是常用的文本编辑器,对于编程有很好的支持。 2. 版本控制:使用Git进行代码版本管理,学习`git clone`、`git add`、`git commit`、`git push`等命令。 3. 调试工具...

    lemp-stack-installer

    安装完成后,可以通过`systemctl start nginx`启动服务,并用`systemctl enable nginx`设置开机启动。 3. **MySQL/MariaDB安装**:安装数据库服务器,通常是MySQL或其分支MariaDB。在Debian/Ubuntu上使用`apt-get ...

    mojowow:经典服务器

    对于开发和测试环境,mojowow是一个很好的选择,但在生产环境中,可能需要更强大的Web服务器如Apache或Nginx。 总的来说,mojowow是一个实用的工具,它让开发者可以快速地搭建本地服务器环境,便于代码预览、文件...

    ubuntu中在宝塔面板中安装可道云的步骤.pdf

    可道云(Kodbox 1.08)的安装依赖包括PHP(推荐使用PHP7.4及以上版本,并且需要开启shell和shell_exec函数),MySQL数据库,以及Web服务器(Nginx或Apache)。对于seafile的配合使用,推荐选择Apache作为服务器软件...

    Linux pidof命令使用总结

    - `-x`:除了显示给定程序的PID外,还会显示所有启动了该程序的Shell的PID。这对于追踪脚本或命令行启动的进程特别有用。 - `-o`:忽略指定的PID,可以多次使用以排除多个PID。这对于避免误操作或者在复杂的环境中...

    linux基础教学

    5. **服务器基本配置**:Linux服务器可能需要配置网络服务,如Web服务器(Apache或Nginx)、数据库服务(MySQL或PostgreSQL)、FTP服务(vsftpd)等。`systemctl`命令用于控制服务的启动、停止和状态检查。例如,...

    SUSU Linux双语教学课件

    7. **Shell脚本编程**: 学习Bash Shell脚本语言,编写简单的自动化任务。 8. **系统维护与优化**: 了解如何进行系统备份、性能监控和故障排查,以及如何进行系统升级和安全设置。 9. **编程环境**: 如果你对编程感...

Global site tag (gtag.js) - Google Analytics