news 2026/4/15 10:31:24

现对约 100 台 CentOS 7.9 系统的 LAMP 和 LNMP 架构服务器进行全网备份【20251216】003篇

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
现对约 100 台 CentOS 7.9 系统的 LAMP 和 LNMP 架构服务器进行全网备份【20251216】003篇

文章目录

  • 基于rsync的LAMP/LNMP全网备份方案(CentOS7.9)
    • 一、环境规划
      • 1. 架构设计(主从模式)
      • 2. 服务器硬件配置建议
      • 3. 备份范围定义(LAMP/LNMP核心数据)
      • 4. 备份策略
      • 5. 目录规划
        • 备份服务器(服务端)
        • 客户端
    • 二、部署实施
      • 1. 前置准备(所有机器)
        • (1)关闭防火墙/SELINUX(或开放端口)
        • (2)安装rsync(默认CentOS7已预装,未安装则执行)
      • 2. 备份服务器(服务端)部署
        • (1)创建目录与认证文件
        • (2)配置rsyncd.conf
        • (3)启动rsync服务并设置开机自启
      • 3. 客户端部署(100台LAMP/LNMP机器,可批量执行)
        • (1)创建目录与认证文件
        • (2)编写备份脚本(全量+增量)
        • (3)脚本权限配置
        • (4)配置crontab定时任务
      • 4. 批量部署客户端(可选,针对100台机器)
        • (1)Ansible控制机配置
        • (2)Ansible批量执行脚本
        • (3)执行批量部署
    • 三、测试验证
      • 1. 服务端连通性测试
      • 2. 客户端手动执行备份测试
      • 3. 增量备份测试
      • 4. 恢复测试(关键)
      • 5. 并发测试(模拟100台客户端同时推送)
    • 四、交付文档
      • 1. 交付物清单
      • 2. 文档模板(核心内容)
        • 《LAMP/LNMP全网备份方案交付手册》
    • 五、日常运维
      • 1. 日志监控
        • (1)服务端日志
        • (2)客户端日志
      • 2. 备份清理(服务端)
      • 3. 故障排查
        • (1)服务端启动失败
        • (2)客户端推送失败
        • (3)备份文件损坏
      • 4. 性能优化
      • 5. 安全加固
    • 总结

基于rsync的LAMP/LNMP全网备份方案(CentOS7.9)

一、环境规划

1. 架构设计(主从模式)

  • 备份服务器(1台):部署rsync服务端,存储所有客户端备份数据,建议配置高IOPS磁盘(如SSD阵列)和冗余存储(RAID5/6),避免单点故障。
  • 客户端(100台):部署rsync客户端,包含LAMP(Linux+Apache+MySQL+PHP)和LNMP(Linux+Nginx+MySQL+PHP)环境,通过crontab定时推送备份数据到服务端。
  • 网络要求:客户端与备份服务器网络互通(默认rsync端口873,可自定义),建议内网传输(避免公网带宽瓶颈和安全风险),若跨机房需配置VPN或加密传输。

2. 服务器硬件配置建议

角色CPU内存磁盘网卡系统版本
备份服务器8核+16G+10TB+(SSD/企业级SATA,RAID5)千兆双网卡(绑定)CentOS7.9 x86_64
客户端2核+4G+按需配置(备份数据本地暂存100G+)千兆网卡CentOS7.9 x86_64

3. 备份范围定义(LAMP/LNMP核心数据)

环境备份目录/文件说明
通用配置/etc/hosts、/etc/resolv.conf、/etc/sysconfig/network-scripts系统网络配置
Apache/etc/httpd/、/var/www/html/、/var/log/httpd/配置文件、网站根目录、访问日志
Nginx/etc/nginx/、/usr/share/nginx/html/、/var/log/nginx/配置文件、网站根目录、访问日志
MySQL/etc/my.cnf、/var/lib/mysql/(或自定义数据目录)、MySQL备份文件配置文件、数据目录、逻辑备份(mysqldump)
PHP/etc/php.ini、/etc/php.d/PHP配置文件
应用数据自定义网站数据目录(如/data/www/)、上传文件目录需客户端提前确认路径
系统关键/etc/crontab、/root/.ssh/(可选)定时任务、SSH密钥(按需备份)

4. 备份策略

  • 备份频率:全量备份(每周日00:00)+ 增量备份(周一至周六00:00)
  • 备份保留:全量备份保留4周,增量备份保留7天(与最近全量对应)
  • 传输模式:rsync增量传输(减少带宽占用),客户端本地暂存备份包,推送至服务端后删除本地临时文件
  • 加密方式:rsync+ssh(避免明文传输),或服务端配置auth users+secrets file认证

5. 目录规划

备份服务器(服务端)
# rsync配置目录/etc/rsyncd/# 认证文件(权限600,仅root可读)/etc/rsyncd/rsyncd.secrets# 配置文件/etc/rsyncd/rsyncd.conf# 备份数据存储目录(按客户端IP/主机名分类)/data/rsync_backup/ ├─192.168.1.101/# 客户端IP作为目录名│ ├─full_20251207/# 全量备份(日期后缀)│ └─inc_20251208/# 增量备份(日期后缀)├─192.168.1.102/ └─...# 日志目录/var/log/rsyncd/
客户端
# rsync认证文件(权限600)/etc/rsyncd/rsyncd.secrets# 备份脚本目录/usr/local/backup/scripts/# 本地暂存目录(备份包生成后推送服务端,推送完成删除)/tmp/backup_temp/# 日志目录/var/log/backup/

二、部署实施

1. 前置准备(所有机器)

(1)关闭防火墙/SELINUX(或开放端口)
# 关闭防火墙(永久)systemctl stop firewalld&&systemctl disable firewalld# 关闭SELINUX(永久,需重启生效)sed-i's/SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/config setenforce0# 临时关闭
(2)安装rsync(默认CentOS7已预装,未安装则执行)
yuminstall-yrsync

2. 备份服务器(服务端)部署

(1)创建目录与认证文件
# 创建配置目录、数据目录、日志目录mkdir-p /etc/rsyncd /data/rsync_backup /var/log/rsyncd# 创建认证文件(格式:用户名:密码)echo"backup_user:Rsync@123456">/etc/rsyncd/rsyncd.secrets# 设置权限(必须600,否则rsync服务启动失败)chmod600/etc/rsyncd/rsyncd.secrets# 创建授权用户列表文件(可选,限制允许访问的用户)echo"backup_user">/etc/rsyncd/rsyncd.allow
(2)配置rsyncd.conf
cat>/etc/rsyncd/rsyncd.conf<<EOF # 全局配置 uid = root gid = root use chroot = no max connections = 50 # 最大并发连接(100台客户端,建议50-100) timeout = 300 # 超时时间(秒) pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock log file = /var/log/rsyncd/rsyncd.log ignore errors = yes # 忽略传输错误 read only = no # 允许客户端写入(推送备份) list = no # 不允许列出模块 hosts allow = 192.168.1.0/24 # 允许访问的客户端网段(按需修改) hosts deny = * # 拒绝其他所有网段 # 备份模块(名称自定义,客户端需对应) [backup_module] path = /data/rsync_backup # 备份数据存储路径 comment = LAMP/LNMP Backup Module auth users = backup_user # 认证用户(与secrets文件一致) secrets file = /etc/rsyncd/rsyncd.secrets # 认证文件路径 EOF
(3)启动rsync服务并设置开机自启
# 启动rsync服务(--daemon后台模式)rsync--daemon --config=/etc/rsyncd/rsyncd.conf# 验证端口(默认873)netstat-tulnp|grep873# 设置开机自启(添加到rc.local)echo"rsync --daemon --config=/etc/rsyncd/rsyncd.conf">>/etc/rc.d/rc.localchmod+x /etc/rc.d/rc.local

3. 客户端部署(100台LAMP/LNMP机器,可批量执行)

(1)创建目录与认证文件
# 创建配置目录、脚本目录、暂存目录、日志目录mkdir-p /etc/rsyncd /usr/local/backup/scripts /tmp/backup_temp /var/log/backup# 创建认证文件(仅需密码,与服务端一致)echo"Rsync@123456">/etc/rsyncd/rsyncd.secrets# 设置权限(必须600)chmod600/etc/rsyncd/rsyncd.secrets
(2)编写备份脚本(全量+增量)

创建全量备份脚本/usr/local/backup/scripts/full_backup.sh

#!/bin/bash# 配置参数BACKUP_USER="backup_user"BACKUP_SERVER="192.168.1.200"# 备份服务器IPBACKUP_MODULE="backup_module"LOCAL_TEMP="/tmp/backup_temp"LOG_FILE="/var/log/backup/full_backup_$(date+%Y%m%d).log"CLIENT_IP=$(hostname-I|awk'{print$1}')# 客户端IP(作为服务端目录名)BACKUP_DATE=$(date+%Y%m%d)FULL_BACKUP_DIR="full_${BACKUP_DATE}"# 定义备份目录(LAMP/LNMP通用,根据实际环境调整)BACKUP_PATHS=("/etc/hosts""/etc/resolv.conf""/etc/sysconfig/network-scripts""/etc/httpd""/etc/nginx""/var/www/html""/usr/share/nginx/html""/var/log/httpd""/var/log/nginx""/etc/my.cnf""/var/lib/mysql""/etc/php.ini""/etc/php.d""/data/www"# 自定义网站目录)# 日志函数log(){echo"[$(date+%Y-%m-%d %H:%M:%S)]$1">>${LOG_FILE}}log"=== 开始全量备份 ==="# 检查本地暂存目录if[!-d${LOCAL_TEMP}];thenmkdir-p${LOCAL_TEMP}log"创建本地暂存目录:${LOCAL_TEMP}"fi# 生成MySQL逻辑备份(避免直接拷贝数据目录锁冲突)MYSQL_BACKUP="${LOCAL_TEMP}/mysql_full_${BACKUP_DATE}.sql.gz"log"开始MySQL逻辑备份..."mysqldump -u root -p"MySQL_ROOT_PWD"--all-databases --single-transaction --quick --lock-tables=false|gzip>${MYSQL_BACKUP}2>>${LOG_FILE}if[$?-eq0];thenlog"MySQL备份成功:${MYSQL_BACKUP}"elselog"MySQL备份失败!"fi# 打包备份文件(按IP+日期命名)BACKUP_PACKAGE="${LOCAL_TEMP}/${CLIENT_IP}_${FULL_BACKUP_DIR}.tar.gz"log"开始打包备份文件..."tar-zcf${BACKUP_PACKAGE}${BACKUP_PATHS[@]}${MYSQL_BACKUP}2>>${LOG_FILE}if[$?-eq0];thenlog"打包成功:${BACKUP_PACKAGE}"elselog"打包失败!"exit1fi# 推送至备份服务器(rsync增量传输,--delete仅删除服务端对应目录旧文件)log"开始推送备份至服务端..."rsync-avz --password-file=/etc/rsyncd/rsyncd.secrets\${BACKUP_PACKAGE}\${BACKUP_USER}@${BACKUP_SERVER}::${BACKUP_MODULE}/${CLIENT_IP}/${FULL_BACKUP_DIR}/2>>${LOG_FILE}if[$?-eq0];thenlog"推送成功!服务端路径:${BACKUP_SERVER}::${BACKUP_MODULE}/${CLIENT_IP}/${FULL_BACKUP_DIR}/"# 删除本地暂存文件(节省空间)rm-rf${LOCAL_TEMP}/* log"删除本地暂存文件"elselog"推送失败!"exit1filog"=== 全量备份完成 ==="

创建增量备份脚本/usr/local/backup/scripts/inc_backup.sh(基于全量备份的差异):

#!/bin/bash# 配置参数(与全量脚本一致)BACKUP_USER="backup_user"BACKUP_SERVER="192.168.1.200"BACKUP_MODULE="backup_module"LOCAL_TEMP="/tmp/backup_temp"LOG_FILE="/var/log/backup/inc_backup_$(date+%Y%m%d).log"CLIENT_IP=$(hostname-I|awk'{print$1}')BACKUP_DATE=$(date+%Y%m%d)INC_BACKUP_DIR="inc_${BACKUP_DATE}"# 查找最近的全量备份目录(服务端)LATEST_FULL=$(ssh${BACKUP_USER}@${BACKUP_SERVER}"ls -d /data/rsync_backup/${CLIENT_IP}/full_* | sort -r | head -1"2>>${LOG_FILE})LATEST_FULL_NAME=$(basename${LATEST_FULL})# 日志函数log(){echo"[$(date+%Y-%m-%d %H:%M:%S)]$1">>${LOG_FILE}}log"=== 开始增量备份(基于全量备份:${LATEST_FULL_NAME}) ==="# 检查最近全量备份是否存在if[-z"${LATEST_FULL}"];thenlog"未找到全量备份,终止增量备份!"exit1fi# 本地暂存目录if[!-d${LOCAL_TEMP}];thenmkdir-p${LOCAL_TEMP}fi# MySQL增量备份(仅备份变更数据库,或使用binlog,此处简化为差异备份)MYSQL_BACKUP="${LOCAL_TEMP}/mysql_inc_${BACKUP_DATE}.sql.gz"log"开始MySQL增量备份..."mysqldump -u root -p"MySQL_ROOT_PWD"--databases db1 db2 db3 --single-transaction --quick|gzip>${MYSQL_BACKUP}2>>${LOG_FILE}# 按需指定数据库# 打包增量变更文件(基于全量备份的差异,使用tar --diff)BACKUP_PACKAGE="${LOCAL_TEMP}/${CLIENT_IP}_${INC_BACKUP_DIR}.tar.gz"log"开始打包增量变更文件..."tar-zcf${BACKUP_PACKAGE}--diff -f${LATEST_FULL}/${CLIENT_IP}_${LATEST_FULL_NAME}.tar.gz${BACKUP_PATHS[@]}${MYSQL_BACKUP}2>>${LOG_FILE}# 推送至服务端log"开始推送增量备份至服务端..."rsync-avz --password-file=/etc/rsyncd/rsyncd.secrets\${BACKUP_PACKAGE}\${BACKUP_USER}@${BACKUP_SERVER}::${BACKUP_MODULE}/${CLIENT_IP}/${INC_BACKUP_DIR}/2>>${LOG_FILE}if[$?-eq0];thenlog"推送成功!服务端路径:${BACKUP_SERVER}::${BACKUP_MODULE}/${CLIENT_IP}/${INC_BACKUP_DIR}/"rm-rf${LOCAL_TEMP}/*elselog"推送失败!"exit1filog"=== 增量备份完成 ==="
(3)脚本权限配置
# 添加执行权限chmod+x /usr/local/backup/scripts/*.sh# 替换MySQL密码(批量执行时可使用sed)sed-i's/MySQL_ROOT_PWD/实际MySQL根密码/'/usr/local/backup/scripts/*.sh
(4)配置crontab定时任务
# 编辑定时任务crontab-e# 添加以下内容(全量:每周日00:00;增量:周一至周六00:00)00* *0/usr/local/backup/scripts/full_backup.sh00* *1-6 /usr/local/backup/scripts/inc_backup.sh# 重启crond服务systemctl restart crond&&systemctlenablecrond

4. 批量部署客户端(可选,针对100台机器)

使用Ansible批量执行客户端部署步骤(高效替代手动操作):

(1)Ansible控制机配置
# 安装Ansibleyuminstall-y ansible# 配置客户端清单(/etc/ansible/hosts)cat>>/etc/ansible/hosts<<EOF [backup_clients] 192.168.1.101 192.168.1.102 ... # 追加所有100台客户端IP EOF# 配置免密登录(控制机免密访问客户端)ssh-keygen -t rsa# 生成密钥ansible backup_clients -m authorized_key -a"user=root key='{{ lookup('file', '/root/.ssh/id_rsa.pub') }}'"-k
(2)Ansible批量执行脚本

创建deploy_client.yml

-hosts:backup_clientsremote_user:roottasks:-name:创建目录file:path={{item}}state=directory mode=0755with_items:-/etc/rsyncd-/usr/local/backup/scripts-/tmp/backup_temp-/var/log/backup-name:创建认证文件copy:content="Rsync@123456" dest=/etc/rsyncd/rsyncd.secrets mode=0600-name:拷贝全量备份脚本copy:src=/usr/local/backup/scripts/full_backup.sh dest=/usr/local/backup/scripts/full_backup.sh mode=0755-name:拷贝增量备份脚本copy:src=/usr/local/backup/scripts/inc_backup.sh dest=/usr/local/backup/scripts/inc_backup.sh mode=0755-name:替换MySQL密码replace:path=/usr/local/backup/scripts/{{item}}regexp='MySQL_ROOT_PWD' replace='实际MySQL根密码'with_items:-full_backup.sh-inc_backup.sh-name:添加crontab任务cron:name:"full backup"minute:"0"hour:"0"weekday:"0"job:"/usr/local/backup/scripts/full_backup.sh"-cron:name:"inc backup"minute:"0"hour:"0"weekday:"1-6"job:"/usr/local/backup/scripts/inc_backup.sh"
(3)执行批量部署
ansible-playbook deploy_client.yml

三、测试验证

1. 服务端连通性测试

# 服务端本地测试模块是否可用rsync-avz /etc/hosts backup_user@127.0.0.1::backup_module/test/ --password-file=/etc/rsyncd/rsyncd.secrets# 检查服务端日志tail-f /var/log/rsyncd/rsyncd.log

2. 客户端手动执行备份测试

# 客户端执行全量备份脚本(测试)/usr/local/backup/scripts/full_backup.sh# 检查客户端日志tail-f /var/log/backup/full_backup_20251207.log# 服务端检查备份文件是否存在ls/data/rsync_backup/客户端IP/full_20251207/

3. 增量备份测试

# 客户端修改一个测试文件(如/var/www/html/test.txt)echo"test">/var/www/html/test.txt# 执行增量备份脚本/usr/local/backup/scripts/inc_backup.sh# 服务端检查增量备份文件ls/data/rsync_backup/客户端IP/inc_20251208/

4. 恢复测试(关键)

# 模拟数据丢失(客户端)rm-rf /var/www/html/test.txt# 从服务端拉取备份文件(客户端)rsync-avz --password-file=/etc/rsyncd/rsyncd.secrets\backup_user@192.168.1.200::backup_module/客户端IP/full_20251207/客户端IP_full_20251207.tar.gz\/tmp/# 解压恢复tar-zxf /tmp/客户端IP_full_20251207.tar.gz -C /# 验证文件是否恢复ls/var/www/html/test.txt

5. 并发测试(模拟100台客户端同时推送)

使用xargs或Ansible批量触发客户端备份,检查服务端负载和日志:

# Ansible批量执行全量备份测试(非生产时段)ansible backup_clients -m shell -a"/usr/local/backup/scripts/full_backup.sh"# 服务端查看并发连接netstat-tulnp|grep873|wc-l# 查看服务端磁盘IO和CPU负载iostat -x1top

四、交付文档

1. 交付物清单

  • 备份服务器配置文档(rsync.conf、目录结构、认证信息)
  • 客户端备份脚本(full_backup.sh、inc_backup.sh)
  • 批量部署脚本(Ansible playbook)
  • 测试报告(连通性、备份/恢复、并发测试结果)
  • 运维手册(日常操作、故障排查)

2. 文档模板(核心内容)

《LAMP/LNMP全网备份方案交付手册》
    1. 方案概述(架构、备份策略、范围)
    1. 环境信息(服务器IP、硬件配置、软件版本)
    1. 部署步骤(服务端、客户端、批量部署)
    1. 测试结果(备份成功案例、恢复验证截图)
    1. 日常运维(日志查看、备份清理、故障处理)
    1. 应急恢复流程(数据丢失后恢复步骤)

五、日常运维

1. 日志监控

(1)服务端日志
# 查看备份请求日志tail-f /var/log/rsyncd/rsyncd.log# 统计每日备份客户端数量grep"$(date+%Y/%m/%d)"/var/log/rsyncd/rsyncd.log|grep"connect from"|awk'{print$5}'|sort-u|wc-l
(2)客户端日志
# 检查备份是否成功(客户端)grep"备份完成"/var/log/backup/full_backup_$(date+%Y%m%d).log# 批量检查所有客户端备份状态(Ansible)ansible backup_clients -m shell -a"grep '备份完成' /var/log/backup/full_backup_$(date+%Y%m%d).log"

2. 备份清理(服务端)

创建定时清理脚本/usr/local/backup/scripts/clean_backup.sh,删除过期备份:

#!/bin/bash# 保留4周全量备份,7天增量备份BACKUP_DIR="/data/rsync_backup"LOG_FILE="/var/log/rsyncd/clean_backup_$(date+%Y%m%d).log"# 清理过期全量备份(>28天)find${BACKUP_DIR}-type d -name"full_*"-mtime +28 -execrm-rf{}\;>>${LOG_FILE}2>&1# 清理过期增量备份(>7天)find${BACKUP_DIR}-type d -name"inc_*"-mtime +7 -execrm-rf{}\;>>${LOG_FILE}2>&1echo"[$(date+%Y-%m-%d %H:%M:%S)] 清理完成">>${LOG_FILE}

添加crontab(每周一03:00执行):

03* *1/usr/local/backup/scripts/clean_backup.sh

3. 故障排查

(1)服务端启动失败
  • 检查rsyncd.secrets权限(必须600)
  • 检查配置文件语法错误(rsync --daemon --config=/etc/rsyncd/rsyncd.conf --verbose调试)
  • 端口被占用(netstat -tulnp | grep 873,修改配置文件port参数换端口)
(2)客户端推送失败
  • 网络不通:ping 备份服务器IP+telnet 备份服务器IP 873
  • 认证失败:检查客户端secrets文件密码与服务端一致,权限600
  • 目录权限:服务端/data/rsync_backup需root可写(uid/gid配置为root)
  • 日志排查:客户端/var/log/backup/和服务端/var/log/rsyncd/日志
(3)备份文件损坏
  • 检查tar打包日志,确认无报错
  • 验证备份包完整性:tar -tf 备份包.tar.gz
  • 定期执行恢复测试(每月1次)

4. 性能优化

  • 服务端:增大max connections(根据CPU/内存调整),使用SSD磁盘,开启文件系统缓存
  • 客户端:避开业务高峰备份,拆分大文件备份(如MySQL单独备份),压缩备份包后传输
  • 网络:内网传输,关闭不必要的服务占用带宽,若跨机房可启用rsync压缩(-z参数)

5. 安全加固

  • 限制服务端访问网段(hosts allow
  • 定期更换rsync认证密码
  • 加密传输:改用rsync+ssh模式(替代密码认证,更安全)
    # 客户端推送(ssh模式,无需secrets文件)rsync-avz -essh/tmp/backup_temp/ root@192.168.1.200:/data/rsync_backup/客户端IP/
  • 备份数据加密:在客户端打包时使用openssl加密备份包(如tar -zcf - 目录 | openssl enc -e -aes256 -k 密码 > 备份包.tar.gz.enc

总结

本方案基于rsync实现100台LAMP/LNMP机器的全网备份,通过“全量+增量”策略平衡备份效率和存储成本,支持批量部署和自动化运维。核心关键点:权限严格控制(600权限)、日志监控、定期恢复测试、过期备份清理,确保备份数据的可用性和安全性。后期可扩展监控告警(如Zabbix监控备份日志关键词)、异地备份(服务端数据同步至异地机房)等功能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 7:18:20

Azure API Management 多后端负载均衡与智能重试策略优化

背景 在使用 Azure OpenAI Service 的生产环境中,我们部署了多个区域的 GPT 模型来提供服务。为了实现高可用性和负载均衡,需要在 Azure API Management (APIM) 层面实现智能的请求分发和故障转移机制。 架构概览 后端资源部署 我们在三个 Azure 区域部署了 OpenAI 资源:…

作者头像 李华
网站建设 2026/4/15 7:21:52

迈瑞医疗董事长李西廷提前完成2亿元增持计划 坚定未来发展信心

12月15日&#xff0c;迈瑞医疗发布公告称&#xff0c;2025年11月27日至2025年12月12日期间&#xff0c;实际控制人之一、董事长李西廷通过集中竞价交易的方式累计增持公司股份1005381股&#xff0c;增持股份占公司股份的0.08%&#xff0c;增持金额共计人民币2亿元&#xff08;含…

作者头像 李华
网站建设 2026/4/11 2:00:58

终极指南:使用LSUnusedResources快速清理iOS项目冗余资源

终极指南&#xff1a;使用LSUnusedResources快速清理iOS项目冗余资源 【免费下载链接】LSUnusedResources A Mac App to find unused images and resources in Xcode project. 项目地址: https://gitcode.com/gh_mirrors/ls/LSUnusedResources 在iOS开发过程中&#xff…

作者头像 李华
网站建设 2026/4/12 21:18:56

6、搭建 Linux 防火墙全攻略

搭建 Linux 防火墙全攻略 1. 安全基础:Windows 与防火墙的局限 在网络安全领域,防火墙固然重要,但不能忽视应用层和操作系统的安全。一些管理员建议,在配置服务器时应假设没有防火墙,这是个不错的策略。像 Linux 和 Unix 服务器,经过强化后甚至可以不需要防火墙。然而,…

作者头像 李华
网站建设 2026/4/10 2:38:14

27、跨平台远程图形桌面与OpenVPN安全网络搭建

跨平台远程图形桌面与OpenVPN安全网络搭建 1. VNC与SSH隧道 VNC(Virtual Network Computing)会话可通过SSH隧道运行,测试其是否正常运行很简单,只需从SSH会话中注销,若VNC随之关闭,则说明运行正常。SSH隧道适用于所有支持SSH的操作系统,在Linux系统之间使用效果良好,…

作者头像 李华
网站建设 2026/4/13 12:33:30

【每日一读Day11】2025年度AI十大趋势报告

1️⃣ 趋势一&#xff1a;算力基建化&#xff1a;数据中心需求狂飙&#xff0c;算力经济是智能产业第一大引擎 算力 ≈ 电力 / 高速公路核心不再是“有没有 GPU”&#xff0c;而是&#xff1a; 数据中心选址能耗、散热调度效率 对工程的影响&#xff1a;算力调度、推理性价比 &…

作者头像 李华