宝塔的nginx保活(守护)自用

2024-04-11 19:36

本文主要是介绍宝塔的nginx保活(守护)自用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自己用的服务器盒子,刷的海思,宝塔可能有点小问题,因为是朋友给的,剩下的问题就自己解决吧。

整体运行还算稳定,因为我只跑跑nginx/php/docker(mysql跑不了),性能勉强够用,问题是每次重启的时候,宝塔可以访问,但是nginx开的端口无法访问,php和docker正常,所以问题的关键在nginx上。

问题:

登上宝塔发现,nginx显示状态正常,实际开的端口都不能访问,手动重启nginx,端口可以访问,手动停止nginx,nginx显示状态正常,端口不能访问。

解决:

问题定位在nginx上,因为是ubuntu的系统,32位arm,兼容问题我没法解决,只能尝试用计划任务判断端口状态后,重启nginx了

我自己拼凑的使用如下

#!/bin/bash# 定义 URL 和超时时间
url="http://127.0.0.1:80"
timeout=5# 检测 URL 是否返回 500 错误
status=$(curl -o /dev/null -s -w %{http_code} --connect-timeout $timeout $url)
if [ $status -eq 000 ]; then/etc/init.d/nginx restart
fi

简单解释下:

我在ssh下

curl -o /dev/null -s -w "%{http_code}\n" http://127.0.0.1:80

在nginx停止时,返回000

参考资料我也贴下,也许其它状态下用得上

https://www.cnblogs.com/shenjingwa/p/17381175.html

脚本只支持检测一条url状态码,将url中的网址更改为你需要检测的网址。

#!/bin/bash# 定义 URL 和超时时间
url="http://example.com"
timeout=5# 检测 URL 是否返回 500 错误
status=$(curl -o /dev/null -s -w %{http_code} --connect-timeout $timeout $url)
if [ $status -eq 500 ]; thennginx -t && systemctl reload nginx.service
fi

并在宝塔面板中设置计划任务,选择Shell脚本,执行时间为检测时间,我这里设置的是1分钟检测一次

第二种方法,使用方法同上,当遇到Nginx停止时会自动重启

pgrep -x nginx &> /dev/null
if [ $? -ne 0 ];then
/etc/init.d/nginx restart
fi

以上两种方法中的restart可更改为start

restart为重启命令

start为启动命令

BT宝塔常见MySQL/Nginx进程守护方法故障重启(运维技巧) - 八艾云 

BT宝塔常见MySQL/Nginx进程守护方法故障重启(运维技巧)

发布时间:2023/4/1 14:49:49

宝塔发展了一段时间了,目前看起来越来越有模样了,的确减少了不少的维护和配置的工作量。最近发下演示站 Nginx 总是无故宕机,于是收集了下方 BT 宝塔面板的一些守护代码,放到宝塔计划任务里,一遍故障重启。

添加 MySQL 进程守护脚本方法

  1. pgrep -x mysqld &> /dev/null
  2. if [ $? -ne 0 ];then
  3. bash /www/server/panel/script/rememory.sh
  4. /etc/init.d/mysqld start
  5. fi

添加 redis 进程守护脚本方法

  1. pgrep -x redis &> /dev/null
  2. if [ $? -ne 0 ];then
  3. /etc/init.d/redis start
  4. fi

添加 nginx 进程守护脚本方法

  1. pgrep -x nginx &> /dev/null
  2. if [ $? -ne 0 ];then
  3. /etc/init.d/nginx start
  4. fi

添加 php-fpm 进程守护脚本方法

  1. pgrep -x php-fpm &> /dev/null
  2. if [ $? -ne 0 ];then
  3. /etc/init.d/php-fpm-{52|53|54|55|56|70|71|73} restart
  4. fi

添加 php-fpm 进程守护脚本方法

  1. pgrep -x php-fpm &> /dev/null
  2. if [ $? -ne 0 ];then
  3. /etc/init.d/php-fpm-{52|53|54|55|56|70|71|73} restart
  4. fi

 

 经测试,pgrep -x nginx &> /dev/null获得的状态,在我的盒子里不靠谱,最终还是判断端口状态靠谱

个人猜想:

如果要需要重启php mysql nginx才正常,可以写一个php访问mysql,功能正常返回一个值,上面的脚本判断这个值来执行重启或通知。

这篇关于宝塔的nginx保活(守护)自用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/894995

相关文章

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

Nginx配置location+rewrite实现隐性域名配置

《Nginx配置location+rewrite实现隐性域名配置》本文主要介绍了Nginx配置location+rewrite实现隐性域名配置,包括基于根目录、条件和反向代理+rewrite配置的隐性... 目录1、配置基于根目录的隐性域名(就是nginx反向代理)2、配置基于条件的隐性域名2.1、基于条件

Ubuntu中Nginx虚拟主机设置的项目实践

《Ubuntu中Nginx虚拟主机设置的项目实践》通过配置虚拟主机,可以在同一台服务器上运行多个独立的网站,本文主要介绍了Ubuntu中Nginx虚拟主机设置的项目实践,具有一定的参考价值,感兴趣的可... 目录简介安装 Nginx创建虚拟主机1. 创建网站目录2. 创建默认索引文件3. 配置 Nginx4

Nginx如何进行流量按比例转发

《Nginx如何进行流量按比例转发》Nginx可以借助split_clients指令或通过weight参数以及Lua脚本实现流量按比例转发,下面小编就为大家介绍一下两种方式具体的操作步骤吧... 目录方式一:借助split_clients指令1. 配置split_clients2. 配置后端服务器组3. 配

Nginx实现前端灰度发布

《Nginx实现前端灰度发布》灰度发布是一种重要的策略,它允许我们在不影响所有用户的情况下,逐步推出新功能或更新,通过灰度发布,我们可以测试新版本的稳定性和性能,下面就来介绍一下前端灰度发布的使用,感... 目录前言一、基于权重的流量分配二、基于 Cookie 的分流三、基于请求头的分流四、基于请求参数的分

一文详解Nginx的强缓存和协商缓存

《一文详解Nginx的强缓存和协商缓存》这篇文章主要为大家详细介绍了Nginx中强缓存和协商缓存的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、强缓存(Strong Cache)1. 定义2. 响应头3. Nginx 配置示例4. 行为5. 适用场景二、协商缓存(协

Nginx实现高并发的项目实践

《Nginx实现高并发的项目实践》本文主要介绍了Nginx实现高并发的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用最新稳定版本的Nginx合理配置工作进程(workers)配置工作进程连接数(worker_co

Nginx中location实现多条件匹配的方法详解

《Nginx中location实现多条件匹配的方法详解》在Nginx中,location指令用于匹配请求的URI,虽然location本身是基于单一匹配规则的,但可以通过多种方式实现多个条件的匹配逻辑... 目录1. 概述2. 实现多条件匹配的方式2.1 使用多个 location 块2.2 使用正则表达式

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题