1.
准备阶段:选择机房与VPS方案
1) 评估业务需求:静态站点、动态应用或数据库,决定带宽与延迟要求。
2) 选择机房位置:北美/欧洲/亚洲节点,举例:洛杉矶延迟到中国约120-200ms,法兰克福约220-300ms。
3) 带宽与流量包:例如选择100Mbps峰值带宽 vs 1Gbps共享;按月流量50TB或按流量计费。
4) 网络黑洞与抗DDoS:优先选择带有基础DDoS保护或可接入CDN的提供商。
5) 价格与合同:短付/月付便于测试,证书与合规(如GDPR)需求提前确认。
6) 资源示例:常见VPS方案—2vCPU/4GB/80GB SSD/5TB 流量,或独立服务器:8核/32GB/2TB NVMe/未限流。
2.
系统选择与安装(以Ubuntu 22.04为例)
1) ISO选择:下载官方Ubuntu 22.04 LTS iso或使用提供商的镜像。
2) 安装方式:裸机安装或云模板部署(推荐云模板以节省时间)。
3) 最小安装选项:选择最小系统,避免不必要服务占用资源。
4) 分区建议:/boot 1GB,swap 根据内存配置(内存<=4GB建议swap=内存,内存>8GB可少用swap),根分区使用LVM或直接EXT4/XFS。
5) 网络配置:建议配置静态私网IP和公网IP,示例netplan配置:networkd + static address。
6) 常用命令示例:apt update && apt upgrade -y;apt install -y openssh-server curl vim。
3.
SSH与用户管理
1) 创建非root管理员用户:adduser deploy && usermod -aG sudo deploy。
2) 使用密钥认证并禁用密码登录:在~/.ssh/authorized_keys写入公钥,编辑 /etc/ssh/sshd_config 设置 PasswordAuthentication no、PermitRootLogin no。
3) 更改默认SSH端口(非必须):例如 Port 2222 可降低扫描噪音,但需在防火墙中允许。
4) 限制登录用户与使用AllowUsers指令:例如 AllowUsers deploy。
5) 监控登录与审计:安装auditd并配置关键目录监控,及时检查 /var/log/auth.log。
6) SSH连接测试:ssh -p 2222 deploy@your_ip -i ~/.ssh/id_rsa。
4.
防火墙与入侵防护
1) 使用UFW或iptables做基础规则,示例UFW命令:ufw default deny incoming;ufw allow 80/tcp;ufw allow 443/tcp;ufw allow 2222/tcp;ufw enable。
2) 配置Fail2Ban:安装 fail2ban,启用 sshd jail,设置 bantime=3600、maxretry=5。
3) 使用端口过滤与限速:iptables -A INPUT -p tcp --dport 2222 -m connlimit --connlimit-above 6 -j REJECT。
4) 配置内核网络参数以防止SYN Flood:sysctl -w net.ipv4.tcp_syncookies=1;调整 net.ipv4.tcp_max_syn_backlog=2048。
5) 定期更新补丁:设置 unattended-upgrades 或使用自动化脚本每周更新。
6) 安全加固基线:禁用不必要服务(ftp、telnet), 使用工具比如 Lynis 做安全审计。
5.
Web服务部署与性能优化(Nginx + PHP-FPM 举例)
1) 安装与配置:apt install nginx php-fpm,Nginx 配置 worker_processes auto;worker_connections 1024。
2) PHP-FPM 调优:根据内存设置 pm = dynamic,pm.max_children 示例 50(对应32GB内存服务器需计算)。
3) SSL/TLS:使用 Let’s Encrypt 获取证书,certbot --nginx 自动配置。
4) 缓存与静态资源:启用gzip,配置expires头,使用fastcgi_cache缓存动态页面。
5) HTTP/2与TLS参数:启用 HTTP/2,使用安全的cipher套件并配置 HSTS。
6) 压力测试:使用ab或wrk进行测试,例如 wrk -t12 -c400 -d30s http://your_site/。
6.
CDN集成与DDoS防御策略
1) 使用公共CDN(如Cloudflare、Fastly)做边缘缓存与流量清洗,开启“I'm under attack”模式应急。
2) DNS配置:将A记录指向CDN提供的IP,设置低TTL以便切换。
3) WAF规则:启用WAF拦截常见Web攻击(SQLi、XSS、LFI)。
4) 大流量防护:配置速率限制与地理封禁,必要时联系机房启用流量清洗。
5) 日志与溯源:记录真实IP(使用X-Forwarded-For),从CDN控制面板查看攻击源IP段并封禁。
6) 应急演练:定期模拟DDoS并验证自动化响应流程(切换路由、启用更高防护级别)。
7.
备份、监控与运维自动化
1) 备份策略:实施3-2-1策略(3份数据、2类介质、1份异地),每天全备或差异备份。
2) 快照与异地复制:使用云快照(如每晚快照并保留7天),并将重要数据同步到另一个机房。
3) 监控指标:CPU、内存、磁盘I/O、网络带宽、响应时间,使用Prometheus+Grafana或Zabbix。
4) 告警策略:设置阈值告警(CPU>80% 5分钟),并配置短信/邮件/钉钉通知。
5) 自动化脚本:使用Ansible或Terraform管理配置与部署,实现可重复的一键部署。
6) 日志集中化:ELK/EFK 堆栈或云日志(例如Papertrail),用于快速排查与审计。
8.
真实案例与配置举例(含对比表)
1) 案例描述:某SaaS公司在洛杉矶部署主站 + 法兰克福备份站,主站承担API与静态内容,峰值并发约2000 qps。
2) 主站配置(生产):8 vCPU、32GB RAM、2 x 1TB NVMe、带宽1Gbps 非限流,年付成本示例约2400美元。
3) 备份站配置(容灾):4 vCPU、16GB RAM、500GB NVMe、带宽500Mbps,自动快照每2小时。
4) 防护措施:使用Cloudflare Pro,启用WAF与速率限制,发生峰值攻击时峰值流量被CDN吸收,源站仅接收净化后流量。
5) 运维结果:通过自动化部署与监控,平均响应时间从120ms降为45ms,99.9%可用性达成。
6) 下面表格为常见VPS对比示例(居中显示,边框宽度为1,表格文字居中):
| 方案 |
vCPU |
内存 |
磁盘 |
带宽/流量 |
参考价/月 |
| 入门型 |
2 |
4GB |
80GB SSD |
100Mbps/5TB |
$15 |
| 标准型 |
4 |
8GB |
160GB NVMe |
200Mbps/10TB |
$40 |
| 高可用型 |
8 |
32GB |
2 x 1TB NVMe |
1Gbps/不限流 |
$200 |
来源:详细怎么搭建海外服务器教程 包括系统安装与安全加固步骤