躬行笔记 - 2025年3月
type: channel
link: https://fuzhoupyy.work/index.php/2025/03/
description: 古人学问无遗力，少壮工夫老始成。 纸上得来终觉浅，绝知此事要躬行。
items: 服务器到手，如何安全加固？老运维的全方位实战指南
items: htop：Linux系统监控利器完全指南
items: Linux常用命令汇总
items: 从故障中学习：2023年十大云服务中断事件复盘与防范策略
items: 深入解析 TCPDump：网络抓包与分析的利器
items: aws 云服务器端口不可访问排查思路
items: 宝塔面板异机迁移

服务器到手，如何安全加固？老运维的全方位实战指南
type: item
date: 2025-03-31T09:00:28+00:00
description: 服务器到手，如何安全加固？老运维的全方位实战指南在互联网安全事故频发的今天，服务器安全已经成为每位运维工程师必须面对的头等大事。前几天刚接手一批新服务器，想到很多朋友经常问我："新服务器应该如何进行安全加固？"今天就借这个机会，和大家分享一下我十多年运维生涯中总结的服务器安全加固实战经验。无论你是刚入行的新手，还是有经验的运维人员，这篇文章都能帮你构建一个更加安全的服务器环境。一、系统基础安全1. 系统更新与补丁管理系统漏洞是黑客入侵的首选目标。记得去年某金融客户因为没及时打补丁，结果被勒索软件攻击，损失惨重。所以，拿到新服务器的第一件事就是更新系统：CentOS/RHEL系统:# 查看可更新的包 yum check-update # 更新所有包 yum update -y # 只更新安全补丁 yum update --securityUbuntu/Debian系统:# 更新软件包列表 apt update # 升级所有已安装的包 apt upgrade -y # 智能升级（处理依赖关系） apt dist-upgrade -y别忘了设置自动更新，但要注意生产环境中先在测试环境验证补丁的稳定性。2. 最小化安装原则上个月帮一个客户排查安全问题时，发现他们服务器上装了一堆用不到的服务，每一个都是潜在的安全风险。记住：不需要的服务就是风险。# 列出所有已安装的包 rpm -qa # RHEL/CentOS dpkg -l # Debian/Ubuntu # 删除不必要的服务 yum remove <package_name> # RHEL/CentOS apt purge <package_name> # Debian/Ubuntu常见可移除的服务： telnet、rsh、rlogin（使用SSH替代） 不必要的打印服务如CUPS 不使用的代理服务、邮件服务等 3. 禁用不必要的启动服务# 列出所有启动的服务 systemctl list-unit-files --state=enabled # 禁用不需要的服务 systemctl disable <service_name> systemctl mask <service_name> # 彻底禁用二、用户账户安全1. 加固root账户root账户是黑客的首要攻击目标。前段时间一个朋友的服务器被入侵，就是因为root密码太简单被暴力破解。# 设置强密码 passwd root # 禁止root远程登录（编辑/etc/ssh/sshd_config） PermitRootLogin no # 重启SSH服务 systemctl restart sshd2. 创建管理员账户# 创建管理员用户 useradd -m admin passwd admin # 赋予sudo权限 usermod -aG wheel admin # CentOS/RHEL usermod -aG sudo admin # Ubuntu/Debian3. 密码策略加固在/etc/login.defs和/etc/security/pwquality.conf中设置密码复杂度要求：PASS_MAX_DAYS 90 # 密码最长有效期 PASS_MIN_DAYS 7 # 两次修改密码的最小间隔 PASS_MIN_LEN 12 # 最小密码长度 PASS_WARN_AGE 7 # 过期前警告天数 # 密码复杂度 minlen = 12 minclass = 3 maxrepeat = 3别忘了配置PAM模块强制执行这些策略：# 编辑/etc/pam.d/system-auth（CentOS）或/etc/pam.d/common-password（Ubuntu） password requisite pam_pwquality.so retry=3三、SSH安全加固SSH是运维人员的必备工具，但也是黑客重点攻击的服务之一。1. 修改默认端口# 编辑/etc/ssh/sshd_config Port 2222 # 使用非标准端口 # 如果使用SELinux，需要设置 semanage port -a -t ssh_port_t -p tcp 22222. 密钥认证替代密码# 客户端生成密钥对 ssh-keygen -t ed25519 -C "admin@example.com" # 上传公钥到服务器 ssh-copy-id -i ~/.ssh/id_ed25519.pub admin@server_ip # 禁用密码认证（编辑/etc/ssh/sshd_config） PasswordAuthentication no ChallengeResponseAuthentication no3. 其他SSH加固措施编辑/et…

htop：Linux系统监控利器完全指南
type: item
date: 2025-03-28T09:01:26+00:00
description: 在服务器管理和系统运维的日常工作中，实时监控系统资源使用情况是一项基础且关键的任务。作为Linux系统管理员，你可能已经熟悉了传统的top命令，但今天我要向大家详细介绍一个更强大、更直观的替代工具——htop。这款开源工具不仅提供了更友好的界面，还带来了更丰富的功能和更灵活的操作体验。htop简介htop是一个跨平台的交互式进程查看器，它是top命令的增强版。与top相比，htop提供了全面的系统资源使用情况视图，支持使用鼠标操作，并且允许用户在不输入进程号(PID)的情况下对进程进行操作。htop使用ncurses库构建，提供了彩色的终端界面，使得系统监控工作更加直观高效。安装htop在开始使用前，首先需要在系统上安装htop。根据不同的Linux发行版，安装命令略有不同：Debian/Ubuntu系统:sudo apt update sudo apt install htopCentOS/RHEL系统:sudo yum install epel-release sudo yum install htopFedora系统:sudo dnf install htopArch Linux系统:sudo pacman -S htop安装完成后，只需在终端中输入htop命令即可启动。htop界面详解初次运行htop时，你会看到一个分为上下两部分的界面：顶部区域（系统概览）顶部区域显示系统的整体资源使用情况，包括： CPU使用率：每个CPU核心都有独立的使用率条，不同颜色代表不同类型的进程： 蓝色：低优先级进程 绿色：普通用户进程 红色：内核进程 黄色/橙色：IRQ时间 洋红色：软中断时间 灰色：IO等待时间 内存使用情况：显示物理内存和交换空间的使用百分比和具体数值 绿色：已使用内存 蓝色：缓冲区 黄色/橙色：缓存 负载平均值：显示1分钟、5分钟和15分钟的系统负载平均值 正常运行时间：系统启动至今的运行时间 任务统计：显示总进程数、运行中的进程数等信息 底部区域（进程列表）底部区域显示系统中运行的进程列表，默认按CPU使用率排序。每个进程显示以下信息： PID：进程ID USER：进程所有者 PRI：进程优先级 NI：nice值 VIRT：虚拟内存大小 RES：常驻内存大小 SHR：共享内存大小 S：进程状态（R=运行，S=睡眠，Z=僵尸等） CPU%：CPU使用百分比 MEM%：内存使用百分比 TIME+：进程运行时间 Command：命令名称和参数 htop的高级操作技巧基本操作 上下左右键：在进程列表中导航 F5：切换树形视图，显示进程父子关系 F6：选择排序字段 F9：向进程发送信号（如终止进程） F10或q：退出htop 进程管理htop最强大的功能之一是其直观的进程管理能力： 终止进程：选中进程后按F9，然后选择要发送的信号（如SIGTERM或SIGKILL） 调整进程优先级：选中进程后按F7（降低nice值）或F8（提高nice值） 追踪进程系统调用：选中进程后按s，启动strace（需要安装strace工具） 查看进程打开的文件：选中进程后按l，启动lsof（需要安装lsof工具） 搜索功能在htop中，按下/键可以搜索特定进程。输入关键字后，htop会高亮显示匹配的进程。这在系统运行大量进程时特别有用。过滤功能按下\键可以激活过滤功能，输入过滤条件后，htop只会显示符合条件的进程。例如，输入"apache"将只显示与apache相关的进程。自定义显示列htop允许你自定义显示哪些进程信息列： 按F2进入设置菜单 选择"Columns"选项 使用空格键选择或取消选择要显示的列 F10保存并退出设置 自定义配色方案如果你不喜欢默认的颜色方案，可以在设置菜单中进行更改： 按F2进入设置菜单 选择"Colors"选项 选择预设的配色方案或自定义各元素的颜色 F10保存并退出设置 实用场景分析场景一：系统资源异常高，定位问题进程当服务器CPU或内存使用率异常高时，可以通过以下步骤快速定位问题： 启动htop，查看顶部的CPU和内存使用情况 按F6，选择按CPU%或MEM%排序 观察排在顶部的进程，这些通常是资源消耗最大的 如果发现异常进程，可以进一步分析或终止它 例如，我曾经遇到一个Web服务器响应缓慢的问题，通过htop发现某个PHP-FPM进程CPU使用率达到100%，进一步分析发现是一个存在无限循环的PHP脚本导致的问题。场景二：监控多核CPU的负载均衡情况在多核服务器上，理想情况下工作负载应该均匀分布在各个CPU核心上： 启动htop，观察顶部的CPU使用率条 检查各个核心的使用率是否平衡 如果发现某个核心长期满负荷而其他核心空闲，可能表明应用程序不支持多线程或存在配置问题 场景三：内存泄漏排查对于疑似内存泄漏的…

Linux常用命令汇总
type: item
date: 2025-03-28T09:00:12+00:00
description: 目录 文件操作命令 文件查看命令 系统管理命令 网络相关命令 用户管理命令 权限管理命令 压缩与解压缩命令 搜索命令 进程管理命令 磁盘管理命令 文本处理命令 Shell编程常用命令 文件操作命令ls - 列出目录内容# 列出当前目录所有文件和目录 ls # 列出详细信息 ls -l # 列出包括隐藏文件 ls -a # 按时间排序 ls -lt # 按大小排序 ls -lS # 递归显示子目录内容 ls -R # 显示文件大小时使用人类可读格式 ls -lhcd - 切换目录# 切换到指定目录 cd /path/to/directory # 切换到用户主目录 cd 或 cd ~ # 切换到上一级目录 cd .. # 切换到上一个工作目录 cd -mkdir - 创建目录# 创建单个目录 mkdir directory_name # 创建多个目录 mkdir dir1 dir2 dir3 # 递归创建目录(创建多级目录) mkdir -p parent/child/grandchildrm - 删除文件或目录# 删除文件 rm filename # 删除目录 rm -r directory # 强制删除 rm -f filename # 强制递归删除目录及其内容(危险操作) rm -rf directory # 交互式删除 rm -i filenamecp - 复制文件或目录# 复制文件 cp source_file destination_file # 复制目录及其内容 cp -r source_directory destination_directory # 保留文件属性复制 cp -p source_file destination_file # 交互式复制(覆盖前提示) cp -i source_file destination_file # 复制并显示进度 cp -v source_file destination_filemv - 移动或重命名文件# 移动文件 mv source_file destination_directory # 重命名文件 mv old_name new_name # 交互式移动(覆盖前提示) mv -i source_file destination_file # 不覆盖已存在的文件 mv -n source_file destination_filetouch - 创建空文件或更新时间戳# 创建空文件 touch filename # 创建多个文件 touch file1 file2 file3 # 只更新访问时间 touch -a filename # 只更新修改时间 touch -m filename # 使用指定时间更新时间戳 touch -t 202301011200 filename # 2023年1月1日12:00ln - 创建链接# 创建硬链接 ln source_file link_name # 创建软链接(符号链接) ln -s source_file link_name # 强制创建链接 ln -f source_file link_name文件查看命令cat - 查看文件内容# 显示文件内容 cat filename # 显示行号 cat -n filename # 显示非打印字符 cat -A filename # 合并多个文件并显示 cat file1 file2 file3less - 分页查看文件# 分页查看文件 less filename # 常用操作: # 空格键: 向下翻页 # b键: 向上翻页 # /关键词: 搜索 # n键: 下一个搜索结果 # q键: 退出head - 查看文件开头# 显示文件前10行 head filename # 显示指定行数 head -n 5 filename # 显示除了最后N行的所有内容 head -n -5 filenametail - 查看文件结尾# 显示文件最后10行 tail filename # 显示指定行数 tail -n 5 filename # 实时监控文件变化 tail -f filename # 从第N行开始显示 tail -n +5 filenamegrep - 搜索文件内容# 在文件中搜索关键词 grep "pattern" filename # 递归搜索目录 grep -r "pattern" directory/ # 显示匹配行号 grep -n "pattern" filename # 忽略大小写 grep -i "pattern" filename # 显示不匹配的行 grep -v "pattern" filename # 只显示匹配的部分 grep -o "pattern" fi…

从故障中学习：2023年十大云服务中断事件复盘与防范策略
type: item
date: 2025-03-27T06:14:44+00:00
description: 在数字化转型的浪潮中，云服务已经成为众多企业IT基础设施的核心。然而，即使是AWS、Azure、GCP这样的科技巨头，也难免遭遇服务中断的尴尬时刻。2023年，我们见证了多起影响深远的云服务故障，这些事件不仅造成了巨大的经济损失，更给我们敲响了警钟。作为运维人员，与其惧怕故障，不如从中学习。本文将深入剖析2023年发生的十大云服务中断事件，探究其技术根因，梳理故障处理流程，并提炼出切实可行的防范策略，帮助你构建更具韧性的系统架构。1. AWS美东区域大规模网络中断（2023年3月）故障概述3月8日，AWS美东-1区域（弗吉尼亚北部）经历了长达4小时的网络连接问题，影响了包括Netflix、Slack和众多金融服务在内的上千家企业。技术原因分析故障源于AWS骨干网络的路由配置更新过程中的一个错误。本应分批次推送的配置变更被一次性应用，导致网络设备超出处理能力，引发级联故障。故障处理时间线 09:12 EST：监控系统首次检测到网络异常 09:28 EST：AWS确认服务中断并开始调查 10:15 EST：初步确定故障范围和影响 11:40 EST：确认根因并开始回滚配置 13:05 EST：大部分服务恢复 13:45 EST：服务完全恢复 关键决策点AWS团队面临的关键决策是是否立即回滚所有配置变更。最初他们尝试隔离问题区域，但这一策略效果有限。最终决定全面回滚是转折点。防范措施 渐进式部署：网络配置变更必须采用更小批次、更慢节奏的部署方式 自动回滚机制：设置明确的健康度量标准，当达到阈值时自动回滚 区域隔离设计：应用架构需跨区域部署，确保单区域故障不会导致全局服务中断 2. Microsoft Azure全球身份验证服务故障（2023年6月）故障概述6月5日，Microsoft Azure的身份验证服务出现全球性中断，持续约6小时，影响了依赖Microsoft Entra ID（前身为Azure Active Directory）的几乎所有Microsoft云服务，包括Microsoft 365、Teams和Dynamics。技术原因分析故障源于一次数据库架构更新，该更新包含了一个未被测试环境捕获的SQL查询性能问题。当部署到生产环境后，这个问题导致身份验证请求的处理时间急剧增加，最终使系统不堪重负。故障处理时间线 08:15 UTC：系统监控报告身份验证延迟增加 08:45 UTC：Microsoft确认全球性服务中断 10:30 UTC：确定根本原因 12:00 UTC：开始部署修复方案 14:20 UTC：服务开始分区域恢复 16:30 UTC：全球服务完全恢复 关键决策点微软面临的关键决策是是否回滚数据库架构更新。考虑到回滚可能带来的数据一致性风险，他们选择了前向修复策略，优化问题查询并增加资源。防范措施 渐进式发布：关键服务更新应采用金丝雀发布模式，先在小范围内验证 性能测试增强：将极端负载条件下的性能测试纳入发布流程 多区域降级策略：设计服务降级机制，确保即使身份验证服务出问题，核心业务功能仍能有限运行 3. Google Cloud Platform存储服务中断（2023年8月）故障概述8月17日，GCP的Cloud Storage服务在多个区域经历了近5小时的性能下降和间歇性不可用，影响了依赖该服务的众多应用，包括多家大型媒体和电商平台。技术原因分析故障源于一次存储元数据服务的扩容操作。工程团队低估了新旧节点间数据同步的网络带宽需求，导致元数据服务过载，进而影响了数据访问路径。故障处理时间线 13:45 UTC：监控系统检测到存储延迟异常 14:10 UTC：确认多区域受影响，启动事故响应 15:30 UTC：确定根因为元数据同步问题 16:45 UTC：实施临时缓解措施，限制非关键流量 18:20 UTC：开始恢复正常服务能力 19:30 UTC：服务完全恢复 关键决策点Google团队面临的关键决策是是否中止正在进行的扩容。他们选择了一个折中方案：暂停扩容但不回滚已完成的部分，同时增加网络资源以支持同步需求。防范措施 容量规划改进：更全面地评估扩容操作对相关服务的影响 限流机制优化：实现更精细的请求优先级机制，确保关键操作在高负载下仍能执行 元数据服务分片：将元数据服务进一步分片，减少单点故障影响范围 4. Cloudflare DNS解析服务中断（2023年7月）故障概述7月4日，Cloudflare的DNS解析服务经历了约2小时的全球性中断，影响了数百万依赖其DNS服务的网站和应用。技术原因分析故障源于一次防DDoS规则更新，其中包含了一个正则表达式匹配条件，在特定DNS查询模式下会触发灾难性回溯（catastrophic backtracking），导致CPU使用率飙升，使DNS解析服务不堪重负。故障…

深入解析 TCPDump：网络抓包与分析的利器
type: item
date: 2025-03-26T13:54:39+00:00
description: 在运维的时候经常会遇到网络问题，排查常常如同在迷雾中寻找真相，而 tcpdump 就是那盏照亮前行道路的明灯。一、TCPDump（一）工具简介TCPDump 是一款运行在 Linux 平台上的经典抓包工具，其全称为"dump the traffic on a network"。它能够根据使用者的需求，精准捕获网络中传输的数据包，并对其进行深入分析。无论是运维人员排查网络故障，还是安全专家检测潜在威胁，TCPDump 都是他们手中不可或缺的利器。（二）功能特性TCPDump 的功能十分强大，主要体现在以下几个方面：• 全面捕获：它可以捕获网络层、传输层等各层协议的数据包，无论是常见的 TCP、UDP，还是 ICMP 等协议，都逃不过它的"法眼"。• 灵活过滤：支持基于主机、网卡、端口等多种条件的过滤规则，还能通过逻辑运算符（如 and、or、not）组合条件，精准筛选出目标数据包。• 深度分析：捕获到的数据包可以与 Wireshark 等工具结合，进行更深入的分析，帮助用户快速定位问题根源。（三）必备知识基础想要熟练运用 TCPDump，你需要掌握以下两方面的知识：• Linux 操作系统：由于 TCPDump 是基于 Linux 系统的命令行工具，因此对 Linux 的基本操作和常用命令需有一定了解。• 网络知识：熟悉 OSI 七层网络模型以及常用网络协议，这样才能准确解读捕获到的报文信息。二、TCPDump 的安装与基本用法（一）安装方法在大多数 Linux 发行版中，tcpdump 已经预装在系统中。若未安装，可依据你的系统类型选择相应的安装命令。• 基于 Debian 的系统（如 Ubuntu）： apt-get update apt-get install tcpdump• 基于 RPM 的系统（如 CentOS）： yum update yum install tcpdump（二）基本用法在终端中输入tcpdump命令即可启动抓包，但不加参数会捕获所有接口上的所有数据包，输出量巨大。因此，通常会结合一些参数来精准捕获目标数据。1.指定网络接口使用-i参数指定网络接口，例如：tcpdump -i eth1该命令会捕获eth1接口上的所有数据包。2.捕获特定数量的数据包通过-c参数设定捕获的数据包数量，如：tcpdump -c 10 -i eth0此命令会捕获eth0接口上的前 10 个数据包。3.使用过滤器TCPDump 的过滤功能是其一大亮点，可依据不同条件筛选数据包。• 按端口过滤：port 9999，仅捕获端口号为 9999 的数据包。• 按协议过滤：ip捕获 IP 数据包；arp捕获 ARP 请求和响应；icmp捕获 ICMP 数据包。• 按源/目的地址过滤：src捕获来自指定源的数据包；dst捕获发送到指定目的地的数据包；src or dst捕获来自指定源或发送到指定目的地的数据包；src and dst捕获同时满足指定源和目的地的数据包。此外，还可搭配-nn参数，避免解析主机名和端口名，直接显示 IP 地址和端口号，减少查找和显示时间；-v参数增加输出的详细程度，展示更多包头信息；-e参数包含数据链路层的头部信息，便于查看源 MAC 地址和目的 MAC 地址。三、实战应用：TCPDump 的高级用法（一）深入解析捕获的数据包以一个 TCP 连接请求的数据包为例，其输出信息如下：20:16:13.153123 fe:fc:fe:5e:fd:0c > 9c:3a:9a:af:53:d9, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 34804, offset 0, flags [DF], proto TCP (6), length 60) 10.115.20.110.35838 > 93.205.23.98.9999: Flags [S], cksum 0x943e (incorrect -> 0x861d), seq 3473184019, win 29200, options [mss 1460,sackOK,TS val 2444563175 ecr 0,nop,wscale 7], length 0• 时间戳：20:16:13.153123，表示数据包捕获的具体时间。• 链路层信息：fe:fc:fe:5e:fd:0c > 9c:3a:9a:af:53:d9，源 MAC 地址和目的 MAC 地址；ethertype IPv4 (0x0800)，表明这是一个 IPv4 数据包。• 网络层信息：tos 0x0，服务类型；ttl 64，生存时间；id 34804，标识；offset 0，偏移量；flags [DF]，不分片标志；proto T…

aws 云服务器端口不可访问排查思路
type: item
date: 2025-03-22T16:18:54+00:00
description: 背景收到用户反馈一台aws ec2实例在一周前突然无法通过公网访问对应的端口，但是22端口可以访问，本片也适用于其他场景排查排查思路系统层面排查检查系统防火墙#检查系统防火墙是否禁用,并关闭 #centos系统 systemctl status firewalld systemctl stop firewalld #ubantu 系统 systemctl status ufw systemctl stop ufw检查selinux是否开启可以通过以下几种方法检查SELinux是否开启：1. 使用sestatus命令运行以下命令：/usr/sbin/sestatus -v如果输出显示SELinux status: enabled，则表示SELinux已开启。2. 使用getenforce命令运行以下命令：getenforce如果输出为Enforcing，表示SELinux处于强制执行模式；如果输出为Permissive，表示SELinux处于宽容模式；如果输出为Disabled，则表示SELinux未开启。3. 查看配置文件查看/etc/selinux/config文件：cat /etc/selinux/config文件中SELINUX的值可以是以下三种之一： enforcing：表示SELinux处于强制执行模式。 permissive：表示SELinux处于宽容模式，仅记录违规行为但不强制执行。 disabled：表示SELinux未开启。 通过以上方法，可以准确判断SELinux是否开启及其运行模式。通过tcpdump抓包要通过 tcpdump 抓取指定端口的流量并判断流量情况，可以按照以下步骤操作：1. 确定网络接口首先，需要确定要抓包的网络接口。可以使用以下命令列出所有可用的网络接口：sudo tcpdump -D或者：sudo tcpdump --list-interfaces选择一个合适的网络接口，例如 eth0 或 ens33。2. 抓取指定端口的流量使用 tcpdump 的 port 关键字可以抓取指定端口的流量。例如，要抓取通过端口 80（HTTP）的流量，可以使用以下命令：sudo tcpdump -i eth0 port 80如果你只想抓取一定数量的数据包，可以加上 -c 选项。例如，抓取 10 个数据包：sudo tcpdump -i eth0 -c 10 port 80如果需要将抓取的数据包保存到文件中，可以使用 -w 选项：sudo tcpdump -i eth0 port 80 -w output.pcap这样，抓取的数据包会被保存到 output.pcap 文件中，后续可以用 tcpdump 或其他工具（如 Wireshark）进行分析。3. 分析流量情况抓取到的数据包可以通过 tcpdump 的输出直接查看，也可以用 -r 选项读取保存的文件进行分析。例如：sudo tcpdump -r output.pcap还可以使用更详细的输出选项，如 -v 或 -vv，来获取更多信息。4. 使用高级过滤条件如果需要更复杂的过滤条件，可以组合多个参数。例如，抓取特定主机和端口之间的流量：sudo tcpdump -i eth0 host 192.168.1.100 and port 80或者，抓取特定协议（如 TCP）且带有特定标志位（如 SYN）的数据包：sudo tcpdump -i eth0 tcp[tcpflags] & tcp-syn != 0注意：tcpdump是工作在系统防火墙之前的，要是连tcpdump都没有抓到流量，只能说明流量没有进入到网卡中。本案例就是这个情况，所以接下来对aws 云平台层面进行排查。运营商层面排查为了排除是否是运营商封禁了ip和端口。我们将弹性ip解绑到其他实例，发现可以正常访问。所以排除此项。AWS 云平台层面排查安全组安全组是AWS中非常重要的安全控制机制，用于控制进出EC2实例的流量。 安全组规则：确认安全组是否允许所需的入站和出站流量。例如，如果需要访问Web服务，应确保安全组允许端口80（HTTP）或443（HTTPS）的入站流量。 依赖关系：检查是否有其他资源（如RDS实例、负载均衡器、Lambda函数）依赖该安全组。如果有依赖关系，可能需要先调整相关资源的配置。 默认安全组：默认安全组通常不允许删除，但可以清空其规则。如果默认安全组的规则过于宽松或限制过多，可能导致流量问题。 网络ACL网络ACL（访问控制列表）是另一个控制VPC中流量的工具，与安全组不同，它工作在网络层面，可以控制子网级别的流量。 规则检查：查看网络ACL的规则，确认是否允许所需的流量通过。例如，如果网络ACL拒绝了特定端口的流量，即使安全组允许，流量也会被阻止。 状态检查：确保网络…

宝塔面板异机迁移
type: item
date: 2025-03-19T16:02:37+00:00
description: 前言客户宝塔面板故障，一直无法启动，计划异机迁移，本次实验两台机器，一台模拟bt损坏的web，一台为新的web实验环境weba：充当宝塔故障的机器webb：充当异机恢复的机器背景说明：项目是php项目，所以要进行异机数据恢复的话，只需要拷贝数据库数据和站点目录就好了，本实验以wordpress作为运行项目#这个是宝塔数据库保存目录 /www/server/data #站点目录，保存对应需要备份的站点 /www/wwwroot登录webb，webb采用相同配置的机器，并安装宝塔，同时安装好mysql和nginx，php等基础环境#将weba中的/www/server/data拷贝到webb的/www/server/data，执行 chown -R mysql:mysql /www/server/data修改所属组 #chown -R mysql:mysql /www/server/data拷贝完成后在数据库，同步数据库，选择从服务器同步数据库。同步完成后会发现有之前的项目数据库存在之后再添加站点这里跟目录选择我们需要恢复的项目站点，域名按正常配置，不创建数据库。php版本可以之后安装本项目为wordpress，所以还是需要修改，数据库中的站点url和home地址，将这两个改为当前服务器的地址。修改完成后，输入地址访问，页面正常，异机恢复成功