网站部署与运维知识库
一、部署环境分类
| 环境类型 | 用途 | 特点 |
|---|---|---|
| 本地环境(Local) | 开发人员本地编码调试 | 速度快、可断网、数据可随意修改 |
| 开发环境(Dev) | 功能开发联调 | 配置接近生产、数据可模拟 |
| 测试环境(Test/QA) | 功能/性能/安全测试 | 应尽量与生产环境一致 |
| 预发布环境(Staging) | 上线前最终验证 | 与生产环境配置完全相同(可缩小规模) |
| 生产环境(Production) | 面向真实用户 | 高可用、高安全、严格变更控制 |
二、主流部署方式
1. 传统物理机/虚拟机部署
流程:
- 准备服务器(安装操作系统)
- 安装运行环境(Nginx/Apache、Node.js/Python/Java/PHP、MySQL/PostgreSQL/Redis)
- 上传代码(FTP/SCP/rsync)
- 配置进程守护(systemd/supervisor)
优点: 完全可控、无额外成本
缺点: 环境一致性差、部署步骤多、扩容慢
2. 容器化部署(Docker + K8s)
典型流程:
# 1. 编写 Dockerfile
# 2. 构建镜像
docker build -t myapp:v1.0 .
# 3. 推送到镜像仓库
docker push myregistry/myapp:v1.0
# 4. 拉取并运行
docker pull myregistry/myapp:v1.0
docker run -d -p 8080:80 myapp:v1.0
# 5. (可选)使用 Kubernetes 编排
kubectl apply -f deployment.yaml