Ubuntu VPS 上 Docker 部署 Nginx 服务器详细教程

引言

本文将详细介绍如何在 Azure 100 学生订阅中创建一台 Ubuntu VPS,并在其上利用 Docker 部署 Nginx 服务器。我们将涵盖 Docker 和 Nginx 的基础概念,以及部署过程中所需的每个步骤。

Docker 简介

Docker 是一个开源的容器化平台,它可以让开发者打包他们的应用程序及其依赖项到一个可移植的容器中。这些容器可以在任何运行 Docker 引擎的主机上运行,从而实现快速部署和扩展。

Nginx 简介

Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。Nginx 因其简单、高效、稳定以及丰富的功能,被广泛用于作为 Web 服务器、负载均衡器等。

在 Ubuntu 上通过 Docker 部署 Nginx

1. 创建 Ubuntu VPS
  • 登录 Azure 门户,创建一个新的虚拟机。
  • 选择 Ubuntu 作为操作系统,并配置所需的资源。
  • 完成创建后,获取虚拟机的公网 IP 地址。
2. 连接到 Ubuntu 虚拟机
  • 使用 SSH 客户端连接到虚拟机。

  • 更新系统软件包:

    复制代码
    sudo apt update && sudo apt upgrade
3. 安装 Docker
  • 安装 Docker CE:

    复制代码
    sudo apt install docker.io
  • 添加当前用户到 docker 组:

    复制代码
    sudo usermod -aG docker $USER
  • 重启 Docker:

    复制代码
    sudo systemctl restart docker
4. 拉取 Nginx 镜像
  • 从 Docker Hub 拉取官方 Nginx 镜像:

    复制代码
    docker pull nginx
5. 运行 Nginx 容器
  • 运行 Nginx 容器,并将容器的 80 端口映射到主机的 80 端口:

    复制代码
    docker run -d -p 80:80 nginx
    • -d:后台运行容器
    • -p 80:80:将容器的 80 端口映射到主机的 80 端口
6. 验证部署
  • 在浏览器中输入虚拟机的公网 IP 地址,如果看到 Nginx 的欢迎页面,则部署成功。

总结

通过以上步骤,我们成功地在 Azure 100 学生订阅的 Ubuntu VPS 上利用 Docker 部署了 Nginx 服务器。

重要提示: 如果找不到可以免费申请 Azure 100 学生订阅 Edu邮箱的地方,可以通过参考我的笔记pdf文件 s3.tebi.io/notes-image/edu笔记.pdf

扩展阅读

注意:

  • 参数说明:
    • -d 参数:以守护进程的方式在后台运行容器。
    • -p 80:80 参数:将容器内部的 80 端口映射到宿主机的 80 端口,这样我们就可以通过宿主机的 80 端口访问容器中的 Nginx 服务。
  • 其他配置:
    • 可以通过修改 Nginx 的配置文件来定制化 Nginx 服务。配置文件通常位于容器内的 /etc/nginx/nginx.conf
    • 可以使用 Docker Compose 来管理多个容器。
  • 安全性:
    • 在生产环境中,建议使用 HTTPS 协议,并配置 SSL 证书。
    • 为了提高安全性,可以限制对 Docker 引擎的访问。

本文旨在提供一个基础的部署教程,读者可以根据实际需求进行扩展和定制。

相关推荐
hkNaruto3 小时前
【AI】Ubuntu 22.04 evalscope 模型评测 Qwen3-4B-FP8
人工智能·ubuntu·qwen3
郭涤生3 小时前
在ubuntu的docker上常用的docker命令
ubuntu·docker
帅得不敢出门3 小时前
Ubuntu打开中文文本乱码
linux·运维·ubuntu·vim
Rocket MAN3 小时前
在 Ubuntu 中配置 Samba 实现「特定用户可写,其他用户只读」的共享目录
网络·windows·ubuntu
Black_Cat_yyds4 小时前
docker host模式问题
运维·docker·容器
rayylee4 小时前
Ubuntu也开始锈化了?Ubuntu 计划在 25.10 版本开始引入 Rust Coreutils
linux·ubuntu·rust
玫瑰花店5 小时前
ubuntu中解决matplotlib无法显示中文问题
linux·ubuntu·matplotlib
yjsstar6 小时前
Linux的web服务器的部署及优化
linux·运维·服务器
运维有小邓@6 小时前
比较入站和出站防火墙规则
服务器·网络·php
TPBoreas7 小时前
Ubuntu开放端口
linux·服务器·网络