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

news/2025/4/2 5:29:32/

1. Docker 和 Nginx 简介以及实验环境

Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成一个轻量级的、可移植的容器。通过 Docker,开发者可以在任何支持 Docker 的环境中运行应用,从而实现一致的开发和生产环境。Docker 的优势在于其快速部署、资源隔离和易于扩展的特性。

Nginx 是一个高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3 代理服务器。它以其轻量级、高并发处理能力和灵活的配置而著称。Nginx 广泛应用于静态文件服务、负载均衡和反向代理等场景。结合 Docker 使用,Nginx 可以快速部署并轻松管理。

由于最近刚入手了G-suite workspace 教育版后感觉囊中羞涩,故本次实验使用的是阿贝云提供的免费服务器(哈哈),其配置为 1 核 CPU、1GB 内存和 5Mbps 带宽。经测试,这个配置能够满足基本的 Nginx 部署需求。

3. 在 Ubuntu Linux 下通过 Docker 部署 Nginx 服务器的教程

步骤 1: 安装 Docker

首先,更新包索引并安装 Docker:

sudo apt update
sudo apt install -y docker.io

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

sudo systemctl start docker
sudo systemctl enable docker

步骤 2: 拉取 Nginx 镜像

接下来,使用以下命令拉取最新的 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;}
}

步骤 4: 启动 Nginx 容器

使用以下命令启动 Nginx 容器,并将主机的 80 端口映射到容器的 80 端口:

sudo docker run -d --name my-nginx -p 80:80 -v /etc/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf nginx

步骤 5: 验证 Nginx 是否正常运行

在浏览器中访问服务器的 IP 地址,应该能看到 Nginx 的欢迎页面。如果需要查看 Nginx 日志,可以使用以下命令:

sudo docker logs my-nginx

参数说明

  • -d: 后台运行容器。
  • --name my-nginx: 指定容器名称。
  • -p 80:80: 映射主机的 80 端口到容器的 80 端口。
  • -v: 挂载主机的配置文件到容器中。

通过以上步骤,您已成功在 Ubuntu 上使用 Docker 部署了 Nginx 服务器。此方法简便高效,适合快速搭建测试环境。


http://www.ppmy.cn/news/1583746.html

相关文章

什么是区块链dapp开发?它能做什么?

区块链DApp(去中心化应用)作为区块链技术的核心落地场景,正在重构数字经济的底层逻辑。其核心特征包括去中心化架构(数据存储于分布式网络节点而非中心化服务器)智能合约驱动(业务逻辑通过链上代码自动执行…

Vue实现动态数据透视表(交叉表)

需求:需要根据前端选择的横维度、竖维度、值去生成一个动态的表格,然后把交叉的值放入到对应的横维度和竖维度之下,其实就是excel里面的数据透视表功能,查询交叉语句为sql语句。 实现页面: 选择一下横维度、竖维度、值之后点击查…

Ceph集群部署步骤

博文参考:https://baijiahao.baidu.com/s?id1739195406542186137&wfrspider&forpc 零、centos7配置中文语言环境 1.查看系统是否安装了中文安装包 locale -a |grep "zh_CN"没有输出,说明没有安装,输入下面的命令安装: …

Stable Diffusion绘画插件(ControlNet )

一、前置条件 1.安装Stable Diffusion WebUI版; 2.安装ControlNet插件。文后附模型下载链接。 二、ControlNet中模型的区别 1. canny.pth 输入条件:Canny 边缘图 特点:通过边缘线条控制生成图像结构 场景:需要保留清晰轮廓但…

数据源为postgres的多表关联flink开发需求,开发思路

作为大数据实时开发工程师,开发基于 PostgreSQL 多表关联的 Flink 程序需遵循以下系统性思路,结合实时处理特性与 PostgreSQL 数据源特点进行设计: 一、数据同步与预处理 1. 配置 PostgreSQL CDC 连接 使用 Flink CDC 连接器 通过 flink-co…

ngx_http_index_set_index

定义在 src\http\modules\ngx_http_index_module.c static char * ngx_http_index_set_index(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) {ngx_http_index_loc_conf_t *ilcf conf;ngx_str_t *value;ngx_uint_t i, n;ngx_http_inde…

测谎仪策略思路

来源:【东吴金工 金工专题】“高频价量相关性拥抱CTA”系列研究(四):CPV因子期货版3.0—CPV测谎机 原创 高子剑 量化邻距离 2024年09月20日 14:37 该报告主要介绍了“高频价量相关性拥抱CTA”系列研究中CPV因子期货版的相关内容,…

新能源动力电池测试设备深度解析:充放电设备与电池模拟器的差异及技术趋势

一、技术原理对比与核心技术创新 充放电设备 核心原理与硬件架构 充放电设备的核心功能是通过电力电子技术精确控制电池的充放电过程,其硬件架构包括高精度电源模块、双向DC/DC变换器、数据采集系统和温控单元。例如,在放电阶段,设备通过双向…