环境准备阶段
-
硬件选择
- 最低配置:双核CPU/2GB内存/20GB存储(适用于基础服务测试)
- 推荐配置:四核CPU/4GB内存/SSD存储(支持容器化及多服务部署)
- 云服务器替代方案:阿里云ECS/AWS EC2(新手建议选择Ubuntu LTS镜像)
-
Linux发行版选择
- Ubuntu LTS (22.04):社区支持完善,apt包管理易用 - CentOS Stream:红帽系企业级替代方案 - Debian Stable:以稳定性著称的生产环境首选
系统部署实战(以Ubuntu 22.04为例)
步骤1:基础系统安装
/boot: 512MB (ext4)
swap : 内存1.5倍 (不超过8GB)
/home: 剩余空间 (ext4)
# 必选组件:
☑ OpenSSH server
☑ Standard system utilities
步骤2:关键安全配置
# 1. 更新系统 sudo apt update && sudo apt upgrade -y # 2. 创建管理账户 sudo adduser deployer sudo usermod -aG sudo deployer # 3. SSH加固(修改/etc/ssh/sshd_config) Port 22222 # 更改默认端口 PermitRootLogin no # 禁用root登录 PasswordAuthentication no # 强制密钥认证 AllowUsers deployer # 白名单用户 # 4. 重启SSH服务 sudo systemctl restart sshd
步骤3:防火墙配置
sudo ufw allow 22222/tcp # 放行自定义SSH端口 sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS sudo ufw enable # 激活防火墙
服务环境搭建
方案A:LNMP栈(Nginx+PHP+MySQL)
# 1. 安装组件 sudo apt install nginx mysql-server php-fpm php-mysql # 2. 配置数据库安全 sudo mysql_secure_installation # 3. 验证Nginx与PHP联动 sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php
方案B:Docker容器化
# 1. 安装Docker引擎 sudo apt install docker.io docker-compose # 2. 部署测试容器(示例) docker run -d --name test-web -p 8080:80 nginx:alpine
维护与监控
-
自动化更新
# 配置无人值守更新 sudo apt install unattended-upgrades sudo dpkg-reconfigure unattended-upgrades
-
资源监控工具
- htop : 实时进程监控 - nmon : 性能趋势分析 - netdata : 可视化仪表盘(推荐)
-
备份策略
# 每日增量备份脚本示例 tar -g /backup/snapshot -czvf /backup/$(date +%Y%m%d).tar.gz /var/www
安全合规要点
-
定期审计
sudo lynis audit system # 安全扫描工具 sudo clamscan -r / # 病毒扫描
-
日志管理
- 启用
logrotate
防止日志膨胀 - 重要日志实时监控:
sudo tail -f /var/log/auth.log
- 启用
-
权限控制原则
- 遵守最小权限原则
- 敏感目录设置:
sudo chmod 750 /etc/mysql
故障排查指引
现象 | 诊断命令 | 解决方案 |
---|---|---|
服务无法启动 | systemctl status nginx |
检查端口冲突/配置文件 |
磁盘空间不足 | df -h |
清理/扩容存储 |
网络连接失败 | traceroute 8.8.8.8 |
检查防火墙/路由设置 |
风险提示
- 测试服务器仍需定期更新补丁(CVE漏洞平均修复周期≤7天)
- 避免使用弱密码或默认凭证(占入侵事件的63%)
- 生产环境迁移前必须进行压力测试(推荐JMeter工具)
引用说明
本文操作基于Ubuntu官方文档(2025.12版)验证,安全配置参考NIST SP 800-123标准,容器化方案遵循Docker最佳实践指南,云服务商配置差异请参阅对应平台文档。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4606.html