搜索全站
安装部署 9 分钟阅读

国内服务器 vs 海外服务器:速度、备案、价格与适用场景全对比

网站该放国内还是海外?本文从备案周期、访问延迟、价格、合规、CDN 加速五个维度对比国内与海外服务器,给出外贸站、个人站、企业站各自的选型结论与实测方法。

U
UFO_PF 2024-03-02 · 阅读 9 分钟
国内 安装部署
阅读提示
本文约 3,502 字,预计阅读 9 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:选错地域,后面全是补丁

服务器地域的选择往往在建站第一分钟就定了,但它的影响会贯穿整个站点生命周期。选了国内地域,意味着要多走 10–20 天的备案流程,但换来国内用户 20–50 ms 的访问延迟;选了香港或新加坡,今天买今天就能上线,但国内访问延迟可能到 80–150 ms,且晚高峰跨境链路波动明显;选了美西,海外客户访问飞快,国内访客可能要等 3 秒以上。

更麻烦的是”选完之后才发现不合适”:国内站迁海外要重新备案注销、数据迁移、改 DNS;海外站想加速国内访问,只能靠 CDN 或者专线,成本陡增。所以这一条决策值得在建站前花半小时想清楚。

原理分析:延迟从哪来,备案限制了什么

延迟的物理来源。 数据包从访客到服务器要走物理光缆,延迟的地板值由距离决定。北京到上海约 1200 公里,光纤往返理论延迟约 12 ms,实际路由绕行后约 25–35 ms;北京到香港约 2000 公里,实际延迟约 40–80 ms;中国到美国西海岸跨太平洋,实际延迟约 150–220 ms。跨境链路还要经过国际出口,晚高峰(20:00–23:00)拥堵时丢包率可能到 3%–10%,这就是”海外站晚上特别卡”的物理原因。

备案限制的是”在中国大陆境内提供互联网信息服务”。 根据《互联网信息服务管理办法》和工信部的要求,使用中国大陆境内服务器对外提供 Web 服务,域名必须完成 ICP 备案。执行层面是:阿里云、腾讯云等接入商在检测到未备案域名解析到其境内 IP 时,会阻断 80/443 端口。注意:没有备案不等于不能用国内服务器,而是不能用 80/443 端口对外提供 Web 服务——用来做内网服务、数据库、异地备份是可以的。

跨境访问的三个真实风险: 一是国际出口带宽拥堵导致的晚高峰抖动;二是部分海外机房 IP 段被国内网络策略影响(表现为间歇性无法访问,且不可预测);三是数据合规,面向欧盟用户的外贸站需考虑 GDPR 的数据存储地要求,面向国内用户的站点收集个人信息需符合《个人信息保护法》。

对比总表:

维度 国内(北京/上海/广州) 香港 / 新加坡 美西 / 欧洲
备案要求 必须 ICP 备案,10–20 工作日 不需要 不需要
国内访问延迟 20–50 ms 40–100 ms(晚高峰可能更高) 150–300 ms
海外访问延迟 150–300 ms 亚洲 30–80 ms,欧美 150–250 ms 当地 20–60 ms
带宽成本 贵,1 Mbps 约 20–25 元/月 中等,按流量计费常见 便宜,常见 1 TB/月流量起步
内容合规 严格,需符合国内法规 遵循当地法律,相对宽松 遵循当地法律
典型月成本(2核4G) 150–400 元 100–300 元 30–150 元
适合场景 面向国内用户的企业站、小程序后端 外贸站、个人博客、备案过渡期 面向欧美客户的外贸站、海外业务

保姆级实操:按业务目标选定地域

步骤 1:明确访客构成。 用一句话回答:”我的访客 80% 在哪里?”国内用户为主 → 国内地域;欧美客户为主 → 美西或欧洲;东南亚客户 → 新加坡;全球分散且国内也有 → 香港/新加坡 + CDN。

步骤 2:确认能否接受备案周期。 备案整体流程:提交资料 → 接入商初审(1–3 工作日)→ 短信核验 → 管局审核(1–20 工作日,各省不同)→ 备案号下发。备案期间网站不能通过域名访问,如果项目有时效性,先用香港地域上线,同步走备案,备案通过后再迁回国内(需要做一次数据迁移 + DNS 切换)。

步骤 3:实测延迟与丢包,不要只看厂商宣传。 在各家云厂商都有”测试 IP”或提供按量付费,可以先开一台按量机器测:

# 持续 ping 看延迟与丢包(Windows 把 -c 换成 -n)
ping -c 100 你的测试IP | tail -5
# 关注 packet loss 百分比与 avg 延迟

# 路由追踪,看在哪一跳开始延迟飙升(跨境出口通常在第 8–12 跳)
traceroute 你的测试IP
# Windows: tracert 你的测试IP

# 更精确的双向诊断(需两端都安装)
mtr -r -c 100 你的测试IP
# 输出中关注 Loss% 列,哪一跳开始丢包,瓶颈就在那一段

步骤 4:晚高峰复测。 这一步最容易被忽略。白天测延迟 40 ms,晚上 21:00 再测一次可能是 180 ms 加 8% 丢包。跨境链路的质量一定要在 20:00–23:00 复测,而且要连续测 3 天以上。

步骤 5:为海外站配置 CDN 兜底。 如果选了香港或美西但国内也有访客,用国内 CDN(阿里云 CDN、腾讯云 CDN、又拍云)加速静态资源,动态内容走源站。或者用 Cloudflare 的 CDN 做全球加速(国内访问 Cloudflare 的速度不稳定,需要实测)。

步骤 6:配置正确的时区与字符集,避免迁移后的隐性 bug。 海外机器默认 UTC 时间,WordPress 的定时任务(WP-Cron)和文章发布时间会差 8 小时:

# 设置系统时区为上海
sudo timedatectl set-timezone Asia/Shanghai
timedatectl status

# 确认 MySQL 时区(WordPress 的发布时间依赖它)
mysql -e "SELECT @@global.time_zone, @@session.time_zone;"

# 在 wp-config.php 中显式指定时区偏移(可选,兜底用)
// wp-config.php:强制 PHP 时区,避免系统时区漂移
date_default_timezone_set( 'Asia/Shanghai' );

步骤 7:核对地域与合规要求。 面向欧盟客户的站点,确认数据存储地是否在欧盟境内(GDPR 要求);面向国内用户收集个人信息的,确认是否符合《个人信息保护法》的出境评估要求。

常见踩坑

  1. 用国内服务器做”免备案”尝试。 有些教程教人改端口(比如用 8080)绕过备案,这是明确违规的,接入商检测到会直接封端口甚至关停实例。
  2. 以为香港服务器国内访问和国内机房一样快。 香港到内地虽近,但跨境链路在晚高峰会明显劣化,实测数据通常比宣传值差 2–3 倍。
  3. 买海外机器但用国内 CDN 加速动态内容。 动态回源仍要走跨境链路,CDN 只能加速静态资源,别指望它解决全部问题。
  4. 时区没改导致定时发布错乱。 WP-Cron 的 wp_schedule_event 用 UTC 存储时间戳,系统时区不对会让”每天 9 点发布”变成”每天 17 点发布”。
  5. 忽略支付与发票。 海外云厂商通常不支持支付宝/微信,需要双币信用卡;国内厂商可以开企业发票。
  6. IP 被污染后没有预案。 部分海外机房 IP 段偶发被限制访问,表现为”部分地区打不开”。预案是:选择支持更换公网 IP 的厂商,或者随时可以迁机房。
  7. 案例:一个外贸站的”美国速度陷阱”。 客户做的是面向北美客户的机械配件外贸站,服务器选了硅谷机房,北美客户访问 60 ms,很好。但他们的运营团队在国内,每天要登录 WordPress 后台上传产品图,后台操作延迟 200 ms 加上图片上传慢,一张 2 MB 的图要传 40 秒,团队抱怨了半年。后来改成:主站继续放硅谷保证客户体验,同时把 WordPress 后台的媒体上传改为直传对象存储(OSS)+ CDN,并在国内放一台轻量服务器做 VPN 跳板用于后台维护。教训:服务器地域要按”访客”选,但要单独考虑”编辑者”的体验,两者不在同一个地理位置时,用对象存储和跳板机解决,不要牺牲访客体验去迁就内部操作。

总结

判断标准可以简化成三句话:访客在国内 → 国内地域 + 备案;访客在海外 → 就近选地域;两边都有 → 海外地域 + CDN,或者国内地域 + 全球 CDN 加速。 决策前必须做两件事:一是用 mtr 在晚高峰实测延迟与丢包,二是确认自己能接受多长的备案周期。选完之后记得设置时区、确认合规,并且网站上线安全基线配置 在海外机器上反而更重要——海外机器暴露在公网上,SSH 暴力破解扫描比国内频繁得多。预算有限时,可以参考 服务器选型指南 里按 PV 选配置的方法,先买小配置,跑起来看资源水位再决定升配。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。