【零基础部署】Docker 部署 Nginx + SSL 保姆级教程

【零基础部署】Docker 部署 Nginx + SSL 保姆级教程 Nginx 是最流行的 Web 服务器和反向代理服务器之一,配合 SSL 证书可以实现 HTTPS 安全访问。本教程将手把手教你用 Docker 部署 Nginx 并配置 SSL 证书,零基础也能跟着做。1. 什么是 Nginx?1.1 Nginx 简介Nginx(发音为 “engine-x”)是一个高性能的 HTTP 和反向代理服务器,主要特点:高性能:事件驱动架构,处理并发能力强低内存消耗:适合高并发场景反向代理:负载均衡、缓存、SSL 终端静态文件服务:高效的静态资源托管模块化设计:功能可扩展1.2 典型应用场景场景说明示例Web 服务器托管静态网站前端 SPA、博客反向代理代理后端服务API 网关负载均衡分发请求到多个后端微服务架构SSL 终端处理 HTTPS 加密安全网站缓存缓存静态资源CDN 边缘节点2. 环境准备2.1 硬件要求配置项最低要求推荐配置内存512MB2GB+磁盘1GB 可用空间10GB+(用于日志和缓存)CPU1 核2 核+2.2 软件要求Docker 20.10+Docker Compose v2域名(用于申请 SSL 证书)2.3 域名准备你需要一个已解析到服务器 IP 的域名。假设你的域名是example.com。3. 使用 Docker 部署 Nginx3.1 快速启动(推荐新手)最简单的方式是直接使用官方镜像:# 创建目录结构mkdir-p~/nginx/{conf.d,html,logs,ssl}# 创建简单的 HTML 页面cat~/nginx/html/index.html'EOF' !DOCTYPE html html head titleWelcome to Nginx/title /head body h1Hello from Nginx Docker!/h1 /body /html EOF# 运行 Nginx 容器dockerrun-d\--namenginx\-p80:80\-p443:443\-v~/nginx/html:/usr/share/nginx/html\-v~/nginx/conf.d:/etc/nginx/conf.d\-v~/nginx/logs:/var/log/nginx\-v~/nginx/ssl:/etc/nginx/ssl\nginx:latest3.2 使用 Docker Compose(推荐生产环境)创建docker-compose.yml文件:version:'3.8'services:nginx:image:nginx:alpinecontainer_name:nginxports:-"80:80"-"443:443"volumes:-./html:/usr/share/nginx/html-./conf.d:/etc/nginx/conf.d-./logs:/var/log/nginx-./ssl:/etc/nginx/sslrestart:unless-stoppedhealthcheck:test:["CMD","curl","-f","http://localhost"]interval:30stimeout:10sretries:3启动服务:# 创建目录和文件mkdir-p{html,conf.d,logs,ssl}# 创建 HTML 页面/