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】