378 发表于 2018-8-22 09:35:22

shell语句编写nginx的启动脚本

  nginx的启动脚本
  问题:在预编译安装nginx时候每次启动时都非常不方便,所以想了下写个nginx脚本在/etc/init.d目录下可实现service的方式启动、停止、重启这样就方便多了!
  # vim nginxd
  #!/bin/bash
  #chkconfig: 2345 20 80
  prog="nginxd"
  nginx_bin="/usr/local/nginx/sbin/nginx"
  if [ -x $nginx_bin ]; then   ##if语句判断是否存在nginx路径
  echo"$nginx_bin is installled !"
  else
  echo -n "$nginx_bin not installed !"
  exit 5
  fi
  start(){
  echo -n "starting $prog:"
  $nginx_bin -t          ##测试nginx配置文件
  a=$?
  if [ $a -eq 0 ]; then    ###if语句判断上一句是否执行成功
  touch /tmp/nginx.pid      ##创建一个nginx.pid文件后启动nginx
  $nginx_bin
  else
  echo "please check your nginx config"
  exit 10
  fi
  }
  stop(){
  echo -n $"stopping $prog:"
  $nginx_bin -s stop            ##停止nginx
  a=$?
  if [ $a -eq 0 ]; then          ##判断执行上一句成功就删除nginx.pid文件输出信息
  rm -rf /tmp/nginx.pid
  echo "success stop nginx"
  else
  echo "check your nginx command"
  exit 11
  fi
  }
  case $1 in##
  start)
  start
  ;;
  stop)
  stop
  ;;

  >  stop
  sleep 2
  start
  ;;
  *)
  echo "Usage:$0{start|stop|reload/restart}"
  ;;
  esac
  验证:
  # service nginxd start
  /usr/local/nginx/sbin/nginx is installled !
  starting nginxd:nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
  nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
  nginx: bind() to 0.0.0.0:80 failed (98: Address already in use)
  nginx: bind() to 0.0.0.0:80 failed (98: Address already in use)
  nginx: bind() to 0.0.0.0:80 failed (98: Address already in use)
  nginx: bind() to 0.0.0.0:80 failed (98: Address already in use)
  nginx: bind() to 0.0.0.0:80 failed (98: Address already in use)
  nginx: still could not bind()
  # service nginxd stop
  /usr/local/nginx/sbin/nginx is installled !
  stopping nginxd:success stop nginx
  # service nginxd start
  /usr/local/nginx/sbin/nginx is installled !
  starting nginxd:nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
  nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
  # service nginxd restart
  /usr/local/nginx/sbin/nginx is installled !
  stopping nginxd:success stop nginx
  starting nginxd:nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
  nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

页: [1]
查看完整版本: shell语句编写nginx的启动脚本