Nginx启动脚本
2016-05-12 18:23
691 查看
编译安装的nginx由于没有提供nginx服务的管理脚本,在启动、停止以及重启nginx时非常不方便,因此我写了一个比较粗糙的脚本,可使用linux中的service服务来对nginx进行管理,非常方便,同时也可以加入ckhconfig管理列表,方便不同级别的自启动,简单实用方法如下:
1、将脚本复制到/etc/init.d/目录下,命名为nginx,并赋予其执行权限
2、修改/etc/init.d/nginx,将base_dir变量修改为本机nginx的安装目录
3、使用方法如下:
service nginx start 启动nginx
service nginx stop 停止nginx
service nginx restart 重启nginx
service nginx relaod 平滑重启nginx
4、加入chkconfig管理
# chkconfig: 2345 10 90
# description: nginx
第一行表示脚本在chkconfig管理中启动的相关参数,2345表示默认启动级别,10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低
第二行是脚本描述信息
两行代码的位置要在#!/bin/bash 声明之后,切行首的#不可省略
5、脚本代码
1、将脚本复制到/etc/init.d/目录下,命名为nginx,并赋予其执行权限
2、修改/etc/init.d/nginx,将base_dir变量修改为本机nginx的安装目录
3、使用方法如下:
service nginx start 启动nginx
service nginx stop 停止nginx
service nginx restart 重启nginx
service nginx relaod 平滑重启nginx
4、加入chkconfig管理
[root@centos ~]# chkconfig --add nginx注意:如果加入chkconfig时报如下错误:service nginx does not support chkconfig,是因为脚本里没有加入chkconfig可识别的相关参数,通常我们会在脚本中加入以下两句代码:
# chkconfig: 2345 10 90
# description: nginx
第一行表示脚本在chkconfig管理中启动的相关参数,2345表示默认启动级别,10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低
第二行是脚本描述信息
两行代码的位置要在#!/bin/bash 声明之后,切行首的#不可省略
5、脚本代码
#!/bin/bash # chkconfig: 2345 10 90 # description: nginx . /etc/rc.d/init.d/functions function show_usage(){ usage="Usage: `basename $0` [ start|stop|restart|reload ]" echo $usage exit } base_dir=/application/nginx/ [[ $# != 1 ]] && show_usage nginx=${base_dir}sbin/nginx case $1 in start) [[ `netstat -ntlup|grep nginx|wc -l` > 0 ]] && failure && echo "Nginx is Running!" && exit echo "Starting Nginx..." $nginx ([ $? -eq 0 ] && success && echo "Nginx starts successfully!") || (failure && echo "Failed start nginx") ;; stop) [[ `netstat -ntlup|grep nginx|wc -l` == 0 ]] && failure && echo "Nginx is NOT running!" && exit echo "Stopping Nginx..." $nginx -s stop ([ $? -eq 0 ] && success && echo "Nginx stops successfully!") || (failure && echo "Failed stop nginx!") ;; restart) if [[ `netstat -ntlup|grep nginx|wc -l` == 0 ]]; then echo "Starting Nginx..." $nginx [ $? -eq 0 ] && success && echo "Nginx starts successfully!" else echo "Stopping Nginx..." $nginx -s stop ([ $? -eq 0 ] && success && echo "Nginx stops successfully!") || (failure && echo "Failed stop nginx!") echo "Starting Nginx..." $nginx ([ $? -eq 0 ] && success && echo "Nginx starts successfully!") || (failure && echo "Failed start nginx") fi ;; reload) [[ `netstat -ntlup|grep nginx|wc -l` == 0 ]] && failure && echo "Nginx is NOT Running!" && exit $nginx -s reload [ $? -eq 0 ] && success && echo "Nginx reloads successfully!" ;; *) show_usage ;; esac
相关文章推荐
- Nginx负载均衡配置
- nginx学习笔记之一:nginx介绍及其编译安装
- CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
- (总结)Nginx配置文件nginx.conf中文详解
- nginx允许所有二级域名跨域请求
- nginx动静分离
- Nginx配置PHP框架时出现Access Denied时的解决办法
- Nginx服务器基础配置详解
- nginx多重条件判断
- nginx upstream使用及源码解析
- nginx运行过程中删除log文件无效
- CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14方法
- zabbix监控nginx
- Nginx+IIS 简单负载均衡配置
- LNMP(linux+nginx+mysql+php)服务器环境配置
- nginx的配置文件解析:ngx_conf_read_token函数
- Node.js + Nginx搭建基于websocket的、可扩展的消息中心
- nginx.conf详解
- centos7安装nginx和php
- keepalived 双实例_nginx互为主备