三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

【零基础部署】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 部署 Nginx

3.1 快速启动(推荐新手)

最简单的方式是直接使用官方镜像:

# 创建目录结构mkdir-p~/nginx/{conf.d,html,logs,ssl}# 创建简单的 HTML 页面cat>~/nginx/html/index.html<<'EOF' <!DOCTYPE html> <html> <head> <title>Welcome to Nginx</title> </head> <body> <h1>Hello 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:latest

3.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 页面</
← 返回列表