奋斗
努力

使用Docker在腾讯云轻量服务器上部署Nginx的方法?

云计算

下面以腾讯云轻量应用服务器(Lighthouse)为例,说明使用 Docker 部署 Nginx 的完整步骤。假设你已:

  • 拥有轻量服务器并可以 SSH 登录
  • 系统为 Ubuntu / Debian / CentOS 等常见 Linux 发行版

一、登录服务器

ssh root@<你的服务器IP>
# 或使用你的用户名
ssh <user>@<你的服务器IP>

二、安装 Docker(以 Ubuntu/Debian 为例)

1. 更新软件包

sudo apt update && sudo apt upgrade -y

2. 安装依赖

sudo apt install -y 
    ca-certificates 
    curl 
    gnupg 
    lsb-release

3. 添加 Docker 官方 GPG 密钥和仓库

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | 
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo 
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] 
  https://download.docker.com/linux/ubuntu 
  $(lsb_release -cs) stable" | 
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. 安装 Docker Engine

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

5. 启动并设置开机自启

sudo systemctl enable docker
sudo systemctl start docker

6. 验证安装

docker --version
docker run hello-world

如果看到 Hello from Docker! 表示安装成功。

若使用的是 CentOS,可用 yumdnf 按 Docker 官方文档安装,逻辑类似。


三、快速运行一个 Nginx 容器

1. 拉取镜像

docker pull nginx:latest

2. 启动容器(简单版)

docker run -d 
  --name my-nginx 
  -p 80:80 
  nginx:latest

说明:

  • -d:后台运行
  • --name my-nginx:容器名称
  • -p 80:80:将宿主机的 80 端口映射到容器的 80 端口
  • nginx:latest:使用的镜像

3. 测试访问

在本地浏览器访问:

http://<你的服务器IP>

如果看到 “Welcome to nginx!” 页面,说明部署成功。


四、自定义 Nginx 配置(挂载本地配置文件)

如果你有自己的 nginx.conf 或需要自定义站点配置,可以:

1. 创建本地目录和配置文件

mkdir -p ~/nginx/conf
vim ~/nginx/nginx.conf

示例 nginx.conf(简化版):

events {
    worker_connections 1024;
}

http {
    server {
        listen 80;
        server_name _;

        location / {
            root /usr/share/nginx/html;
            index index.html index.htm;
        }
    }
}

如需放置静态文件:

mkdir -p ~/nginx/html
echo "<h1>Hello from custom Nginx</h1>" > ~/nginx/html/index.html

2. 启动容器并挂载配置与网页目录

docker run -d 
  --name my-nginx-custom 
  -p 8080:80 
  -v ~/nginx/nginx.conf:/etc/nginx/nginx.conf:ro 
  -v ~/nginx/html:/usr/share/nginx/html:ro 
  nginx:latest

访问:

http://<你的服务器IP>:8080

五、使用 Docker Compose 管理(可选但推荐)

1. 安装 docker-compose(如果未安装)

Docker Desktop 自带,CLI 版本可单独安装:

sudo apt install -y docker-compose-plugin

2. 编写 docker-compose.yml

在项目目录(如 ~/nginx-docker)下:

mkdir -p ~/nginx-docker
cd ~/nginx-docker
cat > docker-compose.yml << 'EOF'
version: "3.8"

services:
  nginx:
    image: nginx:latest
    container_name: my-nginx
    ports:
      - "80:80"
    volumes:
      - ./conf/nginx.conf:/etc/nginx/nginx.conf:ro
      - ./html:/usr/share/nginx/html:ro
    restart: unless-stopped
EOF

并确保有对应的 conf/nginx.confhtml/index.html

3. 启动服务

docker compose up -d

查看状态:

docker compose ps

停止/重启:

docker compose down          # 停止并删除容器
docker compose up -d         # 重新拉起

六、腾讯云轻量服务器安全组配置

在腾讯云控制台:

  1. 进入「轻量应用服务器」 → 选择你的实例 → 「防火墙」或「安全组」。
  2. 确保放行以下端口(根据你上面的映射):
    • 80(HTTP)
    • 如有 HTTPS,需开放 443
    • 如有其他端口(如 8080),也要放行
  3. 保存规则。

七、常见问题排查

  1. 无法访问页面

    • 检查安全组是否放行对应端口
    • 检查容器是否运行:docker ps
    • 检查端口映射是否正确:docker port my-nginx
    • 检查 Nginx 日志:docker logs my-nginx
  2. 修改配置后不生效

    • 确认挂载路径正确,且权限足够
    • 重载容器内 Nginx:
      docker exec my-nginx nginx -s reload
  3. 容器退出

    • 查看日志:docker logs my-nginx
    • 检查 nginx.conf 语法:
      docker exec my-nginx nginx -t

如果你告诉我:

  • 当前操作系统(Ubuntu/CentOS 等)
  • 是否需要 HTTPS(Let’s Encrypt)
  • 是否有现有网站文件要托管

我可以给出更贴合你场景的完整命令和 docker-compose.yml 模板。

未经允许不得转载:云服务器 » 使用Docker在腾讯云轻量服务器上部署Nginx的方法?