部署入门:从代码到上线,一个网站是怎么跑起来的
代码写好了,网站是怎么"上线"的?本文用一次点外卖的类比讲清部署是什么,拆解从开发、构建、测试、发布到运行的完整链路,对比手动、FTP、Git、CI/CD、容器五种常见部署方式并附对比表,解决"把网站部署上线到底是怎么一回事"这个知识点。
从服务器初始化到 Docker、Nginx、自动部署和备份恢复,建立可重复、可回滚且可审计的网站生产环境。
代码写好了,网站是怎么"上线"的?本文用一次点外卖的类比讲清部署是什么,拆解从开发、构建、测试、发布到运行的完整链路,对比手动、FTP、Git、CI/CD、容器五种常见部署方式并附对比表,解决"把网站部署上线到底是怎么一回事"这个知识点。
面试和教程里总出现的 CI/CD 到底是什么?本文用一个"快餐店自动化"的类比讲清持续集成、持续交付、持续部署三者的区别,拆解一条流水线的常见阶段,对比 GitHub Actions、GitLab CI、Jenkins 三款主流工具,并附一条真实流水线示例,解决"CI/CD 怎么入门"。
对比蓝绿、金丝雀与滚动三种零停机发布策略,讲解健康检查、流量切换、回滚与数据库变更的配合要点。
用 PM2 守护并管理 Node.js 生产进程:集群模式自动负载均衡、开机自启、零停机 reload、日志与内存监控。
用 upstream 实现负载均衡,用 proxy_cache 做缓存、limit_req 做限流,并在反向代理层终结 TLS。本文给出可直接落地的 Nginx 反向代理生产配置。
用 Certbot 自动签发并续期 Let's Encrypt 证书:webroot、standalone 与 DNS 插件三种认证方式,配合 hooks 实现全自动续期。
按 12-Factor 原则把配置从代码中剥离:用环境变量管理跨环境差异,用 .env 文件本地化配置,用密钥管理系统保护机密。
使用健康检查、资源限制与重启策略,把 Docker Compose 从开发环境平滑迁移到生产环境,并给出多 Compose 文件拆分的生产实践。
从安装、系统参数到内存调优,给出 MySQL 8 与 PostgreSQL 的生产部署基础配置,覆盖连接数、缓冲池、WAL 与慢查询日志。
用 GitHub Actions 搭建从提交到服务器的自动部署流水线:SCP 上传文件、SSH 执行远程命令、Docker 容器滚动发布与密钥安全。
Kubernetes 官方发布 v1.37 前瞻:Metrics API 历经九年 Beta 后转正、Kubelet 无 Root 模式进入 Beta,同时 kube-proxy 的 ipvs 模式开始弃用。
Docker 宣布对 GitHub Actions 支持 OIDC 连接,用短时有效、每次运行独立的令牌替代长期存在的 PAT/OAT,无需再手动轮换密钥。