在 Ubuntu 下通过 Docker 部署 Nginx 服务器

devtools/2025/3/17 3:07:35/

Docker 和 Nginx 简介

Docker 是一个开源的容器化平台,能够让你以轻量级的方式打包、分发和运行应用。想象一下,你的应用就像一个快递包裹,Docker 确保它在任何地方都能完好无损地到达。它的隔离性和便携性让开发者们爱不释手。而 Nginx 则是一个高性能的 HTTP 服务器,广泛用于反向代理和负载均衡。它的高效性让它成为了现代 web 服务的宠儿。结合 Docker 和 Nginx,开发者可以快速搭建稳定的服务环境,简化部署流程,提升开发效率。

本次实验我将采用三丰云的免费服务器,配置为 1 核 CPU、1GB 内存和 5Mbps 带宽,对于此次的实验来说,能够满足需求。

在 Ubuntu 下通过 Docker 部署 Nginx 的详细步骤

步骤 1: 安装 Docker

确保你的 Ubuntu 系统是最新的。运行以下命令:

sudo apt update
sudo apt upgrade

然后安装 Docker:

sudo apt install docker.io

安装完成后,启动 Docker 并设置开机自启:

sudo systemctl start docker
sudo systemctl enable docker

步骤 2: 拉取 Nginx 镜像

从 Docker Hub 拉取最新的 Nginx 镜像:

sudo docker pull nginx

步骤 3: 创建 Nginx 配置文件

/etc/nginx/conf.d/ 目录下创建一个配置文件,命名为 default.conf

sudo mkdir -p /etc/nginx/conf.d
sudo nano /etc/nginx/conf.d/default.conf

在文件中添加以下内容:

server {listen 80;server_name localhost;location / {root   /usr/share/nginx/html;index  index.html index.htm;}error_page 404 /404.html;location = /404.html {internal;}
}

步骤 4: 运行 Nginx 容器

使用以下命令启动 Nginx 容器:

sudo docker run --name mynginx -v /etc/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -p 80:80 -d nginx
参数说明:
  • --name mynginx: 指定容器名称为 mynginx
  • -v /etc/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf: 将本地配置文件挂载到容器内。
  • -p 80:80: 将主机的 80 端口映射到容器的 80 端口。
  • -d: 在后台运行容器。

步骤 5: 验证 Nginx 是否成功部署

在浏览器中输入你的服务器 IP 地址,应该能看到 Nginx 的欢迎页面。如果一切正常,恭喜你,Nginx 已成功部署在 Docker 容器中!

这就是在 Ubuntu 下通过 Docker 部署 Nginx 服务器的全过程。保持你的环境干净整洁,安全高效,继续探索吧!


http://www.ppmy.cn/devtools/167718.html

相关文章

Flutter_学习记录_video_player、chewie 播放视频

1. video_player 视频播放 插件地址:https://pub.dev/packages/video_player 添加插件 导入头文件 import package:video_player/video_player.dart;Android配置(iOS不用配置) 修改这个文件:/android/app/src/main/AndroidMani…

RabbitMQ入门:从安装到高级消息模式

文章目录 一. RabbitMQ概述1.1 同步/异步1.1.1 同步调用1.1.2 异步调用 1.2 消息中间件1.2.1 概念1.2.2 作用1.2.3 常见的消息中间件1.2.4 其他中间件 1.3 RabbitMQ1.3.1 简介1.3.2 特点1.3.3 方式1.3.4 架构1.3.5 运行流程 二. 安装2.1 Docker 安装 RabbitMQ 三. 简单队列&…

【技术分享】Linux常见日志解析(一)

本文关键词:电子数据取证、电子取证、计算机取证工具 前言: 日志数据可以是有价值的信息宝库,也可以是毫无价值的数据泥潭。它可以记录下系统所产生的所有行为,并按照某种规范表达出来。我们可以使用日志系统所记录的信息为系统…

中科院自动化所人形机器人研究进展:全面综述与展望

作者:Yuchuang Tong, Haotian Liu, and Zhengtao Zhang 单位:中国科学院自动化研究所,中国科学院大学人工智能学院 论文标题:Advancements in Humanoid Robots: A Comprehensive Review and Future Prospects 出版信息&#xf…

剑指 Offer II 080. 含有 k 个元素的组合

comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20080.%20%E5%90%AB%E6%9C%89%20k%20%E4%B8%AA%E5%85%83%E7%B4%A0%E7%9A%84%E7%BB%84%E5%90%88/README.md 剑指 Offer II 080. 含有 k 个元素的组合 题目描述 给…

Sourcetree——使用.gitignore忽略文件或者文件夹

一、为何需要文件忽略机制? 1.1 为什么要会略? 对于开发者而言,明智地选择忽略某些文件类型,能带来三大核心优势: 仓库纯净性:避免二进制文件、编译产物等污染代码库 安全防护:防止敏感信息&…

Linux 找回 Root 密码(多发行版本)

适用于大多数 Linux 发行版(Ubuntu、CentOS、Debian 等),无需第三方工具,需物理接触服务器或系统启动权限。 步骤 1:重启系统并进入 GRUB 引导菜单 重启系统,看到启动画面时,快速按下 Esc、Shi…

AI辅助编程!DeepSeek vs ChatGPT- AI在地图网络分析(最佳路径)上的应用

你是否好奇像DeepSeek和ChatGPT这样的AI语言模型在生成创建网络地图的Python代码时表现如何?在本教程中,我将对它们进行测试! 仅需一个简单提示,这些大语言模型就能生成代码:接收一个起点和多个目的地地址,…