在腾讯云轻量服务器上使用 Docker 部署 Nginx 是一种高效、便捷的方式。以下是详细的步骤说明:
✅ 前提条件
- 已购买腾讯云轻量应用服务器(Lighthouse)
- 操作系统建议选择:Ubuntu 20.04 / 22.04 或 CentOS 7/8
- 能够通过 SSH 登录服务器
- 开放必要的端口:
- TCP 80(HTTP)
- TCP 443(HTTPS,可选)
- 可在腾讯云控制台的“防火墙”中配置
🛠️ 步骤一:登录服务器并更新系统
ssh root@你的服务器公网IP
更新系统包:
# Ubuntu
sudo apt update && sudo apt upgrade -y
# CentOS
sudo yum update -y
🐳 步骤二:安装 Docker
方法一:使用官方脚本安装(推荐)
curl -fsSL https://get.docker.com | sh
此脚本会自动检测系统并安装最新版 Docker。
启动 Docker 并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
验证安装
docker --version
输出示例:Docker version 24.0.7, build ...
📦 步骤三:拉取 Nginx 镜像并运行容器
1. 拉取官方 Nginx 镜像
docker pull nginx:alpine
使用
alpine版本更轻量,也可用nginx:latest
2. 创建本地目录用于挂载(可选但推荐)
mkdir -p ~/nginx/{html,conf}
echo "<h1>Hello from Nginx in Docker!</h1>" > ~/nginx/html/index.html
3. 运行 Nginx 容器
docker run -d
--name nginx-server
-p 80:80
-v ~/nginx/html:/usr/share/nginx/html
-v ~/nginx/conf:/etc/nginx/conf.d
--restart=always
nginx:alpine
参数说明:
-d:后台运行--name:指定容器名称-p 80:80:将主机 80 端口映射到容器 80-v:挂载静态文件和配置目录--restart=always:开机自动重启容器
🔍 步骤四:验证部署
在浏览器中访问:
http://你的服务器公网IP
你应该看到:
Hello from Nginx in Docker!
⚙️ (可选)自定义 Nginx 配置
例如创建一个自定义配置文件:
cat > ~/nginx/conf/default.conf << 'EOF'
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ =404;
}
# 示例:添加简单的访问日志格式
access_log /var/log/nginx/access.log;
}
EOF
修改后重启容器生效:
docker restart nginx-server
🔄 常用管理命令
| 功能 | 命令 |
|---|---|
| 查看运行中的容器 | docker ps |
| 查看日志 | docker logs nginx-server |
| 停止容器 | docker stop nginx-server |
| 启动容器 | docker start nginx-server |
| 删除容器 | docker rm -f nginx-server |
🌐 注意事项
- 安全组/防火墙:
- 登录腾讯云控制台 → 轻量服务器 → 防火墙 → 添加规则:
- 协议:TCP,端口:80(HTTP)、443(HTTPS)
- 登录腾讯云控制台 → 轻量服务器 → 防火墙 → 添加规则:
- 域名绑定(可选):
- 将域名 A 记录指向服务器公网 IP
- 在 Nginx 配置中设置
server_name yourdomain.com;
- 使用 HTTPS(进阶):
- 可配合
certbot+Let's Encrypt实现免费 SSL - 或使用腾讯云 CDN + 免费证书
- 可配合
✅ 总结
你已经成功在腾讯云轻量服务器上通过 Docker 部署了 Nginx!这种方式具有以下优点:
- 快速部署
- 环境隔离
- 易于备份与迁移
- 支持后续扩展(如反向X_X、负载均衡等)
如需进一步部署静态网站、前后端分离项目或配合其他服务(如 Node.js、React、Vue),也可以继续在同一服务器上使用多容器(Docker Compose)管理。
需要我提供 docker-compose.yml 示例吗?欢迎继续提问!
云计算