Linux 环境下配置 Nginx 的开机自启动

1、进入/etc/init.d/目录

cd /etc/init.d/

2、创建重启Nginx的脚本

vi 脚本名称

注意:脚本名称不要包含有“nginx”的字符串,否则该脚本会被自己终止掉。

#!/bin/bash
#chkconfig:2345 90 10
#description:这个脚本用于nginx服务的重启
# 1、记录Nginx的(默认)安装目录
Nginx_HOME="/usr/local/nginx"
# 2、获取正在运行的Nginx服务的进程号
nginx_pid=`ps -ef | grep nginx | grep -v "grep" | awk '{print $2}'`
# 3、根据进程号终止正在运行的Nginx服务
if [ -n "$nginx_pid" ]; then
 echo "Nginx PID: $nginx_pid"
 sudo kill -9 $nginx_pid
 echo "Nginx process killed"
else
 echo "No Nginx process found"
fi
echo "Nginx已成功终止。"
# 4、执行Nginx的(默认)安装目录中的启动程序
echo "Starting Nginx..."
sudo $Nginx_HOME/sbin/nginx

注意:Nginx 的安装目录,需要根据实际情况来进行调整;本例使用了 Nginx 的默认安装目录路径。

3、为脚本添加可执行权限

chmod +x 脚本名称

4、设置该脚本为开机自运行

chkconfig 脚本名称 on

注意:如果脚本中没有“#chkconfig:2345 90 10”类似注释,则会报错“service restart_nx.sh does not support chkconfig”

“#chkconfig:2345 80 90”的解释:
2345:指定脚本运行级别,对应系统初始化启动服务目录 /etc/rc.d 下的 rc2.d , rc3.d , rc4.d , rc5.d
80:为启动序号(0-100,数字越小,执行顺序越靠前),例如等同于在 rc2.d 目录下手动创建 S80service-test 服务
90:为关闭序号(0-100,数字越小,执行顺序越靠前)

5、查看开机自运行服务列表

chkconfig

6、取消该脚本为开机自运行(拓展)

chkconfig --del 脚本名称

本文参考

【1】【chain_fei】【 Linux环境下重启Tomcat进程的Shell脚本】【CSDN】【2024-02-22】

【2】【小哥的吃喝玩乐】【CentOS8开机自运行shell脚本】【博客园】【2022-06-10】

作者:Javaer1995原文地址:https://www.cnblogs.com/Javaer1995/p/18669140

%s 个评论

要回复文章请先登录注册