Nginx通过/etc/init.d/nginx方式启动或停止服务

本文详细介绍了如何编写启动、重启、停止Nginx的脚本,并演示了如何将其添加为系统服务,包括设置权限、开机启动和命令行操作。适合Nginx管理员和系统运维人员参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx 启动、重启、停止脚本

第一步
先运行命令关闭nginx
sudo kill `cat /usr/local/nginx/logs/nginx.pid`

第二步
vi /etc/init.d/nginx
输入以下内容 :

#!/bin/bash
#
# 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: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/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 改变而进行修改
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)  ## 获取nginx 名称
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
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 -QUIT
      retval=$?
      echo
      [ $retval -eq 0 ] && rm -f $lockfile
      return $retval
}

restart() {
      configtest || return $?
      stop
      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
      start
      ;;

      stop)
      rh_status_q || exit 0
      stop
      ;;
      restart|configtest)
      restart
      ;;
      reload)
      rh_status_q || exit 7
      reload
      ;;
      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

保存退出

第三步
# 设置执行权限
chmod +x /etc/init.d/nginx

第四步
## 设置中的模式开机启动
/sbin/chkconfig nginx on
检查一下
## 显示开机启动自动列表是否存在nginx
chkconfig --list # 显示开机自动启动的服务
sudo chkconfig --list nginx

nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off

完成!
之后,就可以使用以下命令了
service nginx start
service nginx stop
service nginx restart
service nginx reload
service nginx status

/etc/init.d/nginx start
/etc/init.d/nginx stop
/etc/init.d/nginx restart
/etc/init.d/nginx reload
/etc/init.d/nginx status
将nginx 加入系统变量
  • 修改/etc/profile 文件
  vim /etc/profile
  • 添加PATH
    如果已经存在PATH 也只需要在下面添加更多的PATH 两者之间不冲突
#  在文件中添加nginx 的执行文件。
export PATH=$PATH:/usr/local/nginx/sbin 
  • 使立即生效
    保存文件后PATH 不会立即生效需要执行 source /etc/profile
 source /etc/profile

通过 nginx 直接 调用相关信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值