ubuntu+nginx当服务器异常时微信/企业微信/抖音数据重复回调导致服务器崩溃怎么解决?
Song •
54 次浏览 •
0个评论 •
2025年05月30日
我们最近在使用ubuntu+nginx部署服务器时;我们产品对接的是微信/企业微信/抖音等平台数据回调Hook,平时流量正常时也就几十M数据,但是一些时候流量暴增导致服务器瘫痪,如果升级服务器吧这是异常导致的成本浪费,我们想办法处理一下。
一、问题出现的原因是:
- 1、服务器偶尔卡死,当服务器恢复正常时这期间的异常数据重新推送,造成HOOK重新推送;这期间导致了服务器卡死,然后HOOK再次推送(一般会推送3次),则这样只要一堵死就导致了疏通困难。
- 2、官方服务异常后重新启动服务,这种情况会出现大量的Hook推送,如何服务器性能不达标就会出现1的情况,导致服务器崩溃。
二、如何解决?
针对这个问题我处理了一个解决方案,这个是针对推送消息不重要的情况;如果支付数据啥的不能通过这个方法来解决。
- 当服务器异常时,依然返回200状态的 success ;直接避免了重复推送导致服务器崩溃。
解决办法如下:
vim /var/www/html/success.html
# 输入success
然后我们在Nginx中获取到异常然后直接返回success。
server {
listen 443 ssl;
root /var/www/baidu/public;
index index.php index.html index.htm;
server_name baidu.com;
client_max_body_size 100m;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_intercept_errors on;
error_page 500 502 503 504 =200 /var/www/html/success.html;
}
location ~ /\.ht {
deny all;
}
ssl_certificate /var/www/baidu/ssl/1.crt;
ssl_certificate_key /var/www/baidu/ssl/1.key;
}
fastcgi_intercept_errors on; 是 Nginx 配置中的一个指令,用于控制是否将错误页面的处理交给 Nginx 来进行。具体来说,它决定了当后端(如 PHP-FPM)返回错误状态码(例如 4xx 或 5xx 错误)时,Nginx 是否应该拦截这些错误并将它们重定向到自定义的错误页面。
更多相关好文
-
laravel中distinct()的使用方法与去重 2017-09-11
-
Laravel将view缓存为静态html,laravel页面静态缓存 2021-10-09
-
[ laravel爬虫实战--基础篇 ] guzzle描述与安装 2017-11-01
-
[ 配置教程 ] 在ubuntu16.04中部署LNMP环境(php7+maridb且开启maridb远程以及nginx多域名访问 )并配置laravel环境 2017-07-18
-
nginx 服务器如何查看当前访问的域名 2025-06-10
热门文章
-
nginx 服务器如何查看当前访问的域名 2025-06-10
-
ubuntu+nginx当服务器异常时微信/企业微信/抖音数据重复回调导致服务器崩溃怎么解决? 2025-05-30
-
Jquery使用xlsx实现批量导入Excel数据 2025-05-12
-
laravel11如何启用routes/api.php无状态路由 2025-03-06
-
oppo手机默认浏览器urlscheme 2025-02-13
nginx 服务器如何查看当前访问的域名