📌 目的本文档旨在提供一套适用于常见 Linux 服务器(如 Ubuntu、CentOS)的主机安全加固方案,用于防止入侵、控制权限、保障生产环境稳定性。🧱 基础安全配置1. 禁用 Root 登录# 编辑 SSH 配置文件
sudo vim /etc/ssh/sshd_config
# 设置
PermitRootLogin no
PasswordAuthentication no启用仅限密...
在使用 supervisord 管理大量服务时,笔者遇到了一个奇怪的问题:当任务数量接近 200 个时,新的服务启动会失败,而 supervisor 本身没有明确报错信息。经过排查,最终确认是系统资源限制(如打开文件数、进程数)导致的问题,并通过调整配置成功解决。💥 问题描述当 supervisord 启动约 200 个任务之后:新增的服务(program)无法正常启动日志中没有明显报错,偶...
🧩 问题背景在某日凌晨,线上服务的 PHP 日志中频繁出现如下报错:
\[01-May-2024 06:07:27 Asia/Shanghai] PHP Warning: Error while sending STMT\_PREPARE packet. PID=26439
该错误由 mysqli->prepare() 方法抛出,影响到了部分数据库相关的服务逻辑。📌 初步分析方向根据...
在日常开发中,我们经常会碰到“看起来像数字”的字段存储在 VARCHAR 类型的数据库列中。乍一看没问题,结果排序一查,全乱了。❓ 问题背景假设我们有一个数据库字段用来记录某种“订单号”或“流水号”,形式都是数字,例如:992687129
1001404894字段类型是 VARCHAR(50)(出于兼容性或历史原因)。我们希望按照这个字段升序排序,拿到最小或最大的值。但执行如下查询后却发现结...
✅ 问题场景简述正在生产环境不停服迁移 Redis 实例;使用双写方案,同时写入老旧 Redis(A)和新 Redis(B);准备下线老 Redis(A),但发现有客户端始终维持连接不释放;需要找出这些客户端,确认来源,推动其断开或改配置。🔍 如何排查连接来源1. 使用 CLIENT LIST 命令排查连接在老 Redis 实例中执行:redis-cli -h OLD_REDIS_IP -p...