#!/bin/bash
# 检查Nginx进程是否存在
if pgrep -x "nginx" > /dev/null
then
echo "Nginx进程存在,正在检查配置文件语法..."
# 检查Nginx配置文件语法
nginx -t
if [ $? -eq 0 ]; then
echo "Nginx配置文件语法正确,正在检查能否正常访问网页..."
# 检查能否正常访问网页
curl -I http://localhost
if [ $? -eq 0 ]; then
echo "Nginx服务正常运行"
else
echo "Nginx服务异常,无法正常访问网页"
fi
else
echo "Nginx配置文件语法错误"
fi
else
echo "Nginx进程不存在,正在尝试启动Nginx..."
# 尝试启动Nginx
systemctl start nginx
if [ $? -eq 0 ]; then
echo "Nginx启动成功"
else
echo "Nginx启动失败"
fi
fi
使用说明:
-
将上述脚本内容保存到一个文件中,例如命名为
check_nginx.sh
。 -
赋予该脚本执行权限,命令为
chmod +x check_nginx.sh
。 -
运行脚本,命令为
./check_nginx.sh
。
脚本逻辑说明:
-
首先使用
pgrep -x "nginx"
命令检查是否存在Nginx进程。如果存在,则继续后续检查;如果不存在,则尝试启动Nginx服务。 -
如果Nginx进程存在,使用
nginx -t
命令检查Nginx配置文件语法是否正确。如果语法正确,则继续检查能否正常访问网页;如果语法错误,则输出错误信息。 -
使用
curl -I http://localhost
命令尝试访问本地Nginx服务的网页。如果能够正常访问,则输出Nginx服务正常运行的信息;如果无法访问,则输出服务异常的信息。