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

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

相关推荐
阿^觅11 分钟前
基础IO -- 动静态库(1)
linux·服务器
Channing Lewis12 分钟前
Python 3.9及以上版本支持的新的字符串函数 str.removeprefix()
服务器·python
抠脚学代码32 分钟前
LINUX 实现终端动态进度条记录
linux·运维·服务器·进度条
bohu8332 分钟前
ubuntu 22 安装vmware 17.5
linux·ubuntu·vmware·vmmon·vmnet
Xinyi777743 分钟前
kubernetes v1.29 xxx docker镜像导入及其vpa Error处理
docker·容器·kubernetes
可涵不会debug1 小时前
Git在码云上的使用指南:从安装到推送远程仓库
linux·运维·服务器·c++·git
hunandede1 小时前
Linux中的nc命令是网络工具中的一种,用于进行网络连接和数据传输。下面是nc命令的使用方法和实例:
linux·运维·服务器
WoTrusSSL2 小时前
什么是 OpenSSL?OpenSSL 如何工作?
服务器·https·ssl
m0_748236583 小时前
SQL-Server链接服务器访问Oracle数据
服务器·sql·oracle
Zfox_3 小时前
【Linux】Socket编程-TCP构建自己的C++服务器
linux·服务器·c语言·c++·tcp/ip