1.
概述:项目背景与目标
- 项目目标:将欧洲节点云服务器从零搭建并上线,满足电商/内容站点对延迟与带宽的要求。
- 流量估算:目标PV 100,000/日,带宽峰值约150 Mbps,月流量约4.5 TB。
- 地域选择:建议选择德国/荷兰/法国数据中心以覆盖欧洲用户并降低延迟。
- 技术栈:Ubuntu 22.04 + Nginx + MariaDB + PHP-FPM(LEMP),并接入CDN与WAF。
- 安全目标:实现基础防火墙、Fail2ban、DDoS缓解和HTTPS加密,保证可用性与合规性。
2.
选择VPS与配置示例(含对比表)
- 评估要点:CPU 核心、内存、NVMe 存储、月带宽条款、公网 IPv4/IPv6、价格与服务商 SLA。
- 推荐配置(基础/生产/高可用)在下表展示,含价格与带宽示例:
| 方案 | vCPU | 内存 | 存储 | 月流量 | 参考价/月 |
| 基础 | 2 | 4 GB | 80 GB NVMe | 3 TB | $12 |
| 生产 | 4 | 8 GB | 160 GB NVMe | 5 TB | $40 |
| 高可用 | 8 | 16 GB | 320 GB NVMe | 10 TB | $120 |
- 真实案例:采用生产方案(4 vCPU/8GB/160GB/5TB)用于中等规模电商站,日均并发 800,99.95% SLA。
- 费用估算:初期部署含 CDN/备份/域名约 $60–100/月(含 Cloudflare Pro $20 + VPS $40 + 备份)。
3.
域名与DNS解析配置步骤
- 注册域名:建议选择具备 WHOIS 隐私的注册商,示例域名:myshop.eu。
- DNS 记录:添加 A 记录(@ -> 203.0.113.45),www CNAME 指向 @,MX 指向邮件服务。
- TTL 与负载:生产环境将 TTL 设为 300(5 分钟)以便快速切换 IP。
- 使用二级 DNS 或 Cloudflare:接入 Cloudflare 可提供 CDN、DNS 与 WAF,一键启用代理。
- 验证示例:dig +short myshop.eu 返回 203.0.113.45,说明解析生效。
4.
系统安装与基础配置(从零开始)
- 选择镜像:使用 Ubuntu 22.04 LTS,最小安装镜像以减少攻击面。
- 基本命令示例:apt update && apt upgrade -y;创建普通用户:adduser deployer;sudo 权限:usermod -aG sudo deployer。
- 时区与同步:timedatectl set-timezone Europe/Berlin;安装 chrony 进行 NTP 同步。
- 磁盘分区建议:root + /var/www 独立分区,示例:LV(/ 40GB, /var/www 100GB)。
- SSH 安全:禁用 root SSH,改用非 22 端口(例 2222),开启公钥认证并禁用密码登录。
5.
LEMP 环境搭建与性能调优
- 安装组件:apt install nginx mariadb-server php-fpm php-mysql -y;开启并检查服务状态。
- Nginx 配置示例:worker_processes auto; worker_connections 1024; fastcgi_cache 针对动态页面缓存。
- 数据库优化:my.cnf 调整 innodb_buffer_pool_size=6G(生产示例:8GB RAM 时取 70%),query_cache_off。
- PHP-FPM 调优:pm = dynamic; pm.max_children = 50(依据内存和脚本内存使用计算)。
- 静态资源与压缩:开启 gzip、HTTP/2, 使用 Brotli(若 CDN 支持),将静态资源缓存到 30 天。
6.
CDN接入与DDoS防御实战
- CDN 选择:Cloudflare、Fastly 或 Akamai,可降低源站带宽与延迟。
- DNS 接入方式:将域名 nameserver 指向 CDN 提供商,启用 DNS 代理/缓存。
- DDoS 缓解策略:启用速率限制(rate limit)、挑战(JS challenge)和全站“Under Attack”模式。
- 源站保护:仅允许 CDN 的 IP 段访问源站防火墙(示例 iptables 或 ufw 规则)。
- 真实案例:一次 SYN Flood 攻击被 Cloudflare 阻断,源站流量仅出现正常 HTTP 请求,源站 CPU 利用率未超 20%。
7.
上线验证与持续运维
- 测试项目:使用 ab 或 wrk 做压测,示例:wrk -t8 -c400 -d60s http://myshop.eu/,记录 RPS 与延迟分布。
- 监控告警:部署 Prometheus + Grafana 或使用第三方监控,监控指标:CPU、内存、负载、响应码、QPS。
- 备份策略:数据库每日备份并保留 14 天,异地备份到对象存储(示例 S3/Wasabi)。
- 自动化与部署:使用 Docker 或 Ansible 实现 CI/CD,示例 GitLab CI 每次合并触发自动部署。
- 灾备演练:每季度进行故障切换演练,记录 RTO < 15 min,RPO < 1 hour。
来源:实例教程欧洲数据上传云服务器从零搭建到上线的操作指南