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 引擎的访问。

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

相关推荐
我爱学习好爱好爱2 小时前
Ansible 常用模块详解:yum、service/systemd、copy实战
linux·服务器·ansible
papaofdoudou2 小时前
LINUX VFIO被IOMMUFD取代
linux·运维·服务器
平生不喜凡桃李3 小时前
浅谈 Linux 中 namespace 相关系统调用
java·linux·服务器
虾..4 小时前
多路复用 --- select系统调用
服务器·数据库·sql
杨云龙UP4 小时前
mysqldump逻辑备份文件恢复总结:全库恢复、单库恢复,一篇讲明白
linux·运维·服务器·数据库·mysql·adb
舰长1154 小时前
linux系统服务器加固1、中风险 未设置登录失败处理功能和登录连接超时处理功能。2、中风险 未限制默认账户的访问权限。3、中风险 未实现管理用户的权限分离。
linux·运维·服务器
独隅4 小时前
PyTorch 模型部署的 Docker 配置与性能调优深入指南
人工智能·pytorch·docker
mounter6255 小时前
Linux 7.0 重磅更新:详解 nullfs 如何重塑根文件系统挂载与内核线程隔离
linux·运维·服务器·kernel
-Da-5 小时前
Unix哲学:一切皆文件与网络通信的统一抽象
服务器·unix