部署与运维 Ship
域名、DNS、构建、部署、环境变量、回滚、监控:怎么让它真的活在线上。
12 个词条
部署
Deployment「在我电脑上是好的,怎么让别人打开网址也能看到?」
把本机做好的东西送到线上服务器并真正生效,让别人通过网址就能用。
止于 生产构建
Build「我写的代码怎么变成那个能打开的网站?中间那一步叫啥?」
把一堆源码文件处理压缩成浏览器能直接跑的静态文件,是上线前必经的一步。
止于 运行时网站托管
Web Hosting「我做好的网站文件,放在哪、怎么弄,别人才打得开?」
存放网站文件、一直开机对外提供访问的那台远程电脑(或平台)。
止于 生产CI/CD
Continuous Integration / Continuous Deployment「每次改完代码都要手动传到服务器,太麻烦,能不能让机器自动帮我做?」
用一条自动化流水线把「检查、构建、测试、部署」串起来,改完代码自动走完,不用人肉传文件。
止于 运行时域名
Domain Name「别人怎么找到我的网站?那个 .com 的地址是怎么来的、归谁管?」
网站的门牌号:一串好记的名字,让访客不用记 IP 数字就能找到你。
止于 生产DNS
DNS (Domain Name System)「输入网址之后,电脑怎么知道去哪台服务器?为什么改完解析半天不生效?」
互联网的电话簿:把域名翻译成服务器 IP,决定你输入网址后去哪台机器。
止于 生产HTTPS / SSL
HTTPS / SSL「网址前面那个小锁是什么意思?为什么有的网站显示「不安全」?」
给网站和访客之间的传输加密、并证明这就是你要找的那个网站,对应地址栏的小锁。
止于 生产CDN
CDN (Content Delivery Network)「网站打开慢怎么办?总听人说加 CDN,那是什么、怎么验?」
把网站内容复制到离访客近的多个节点,让各地打开都快、还能扛住流量高峰。
止于 生产反向代理
Reverse Proxy「我的程序跑在 3000 端口,怎么让别人直接用域名打开?」
站在用户和应用之间,接住域名请求,再把它转给服务器内部真正运行的程序。
止于 生产预发布环境
Staging「我想在上线之前,先在一个跟线上一样的地方试一遍。」
和线上几乎一模一样、但只有内部人能访问的环境,上线前的最后一站。
止于 生产灰度发布
Canary Release「怕一上线就全崩,能不能先让一小部分人用,没问题再放开?」
先把新版本放给一小部分用户,观察没问题再逐步扩大到全部。
止于 生产监控
Monitoring「我总担心网站半夜挂了,我第二天早上才知道。」
持续盯着网站的健康指标,出问题第一时间通知你,而不是等用户来骂。
止于 生产