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

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 服务器的全过程。保持你的环境干净整洁,安全高效,继续探索吧!

相关推荐
七宝大爷1 天前
GPU服务器深度解析:H100/H200的“机头”与“模组”架构详解
运维·服务器·架构·h100·h200
gd63213741 天前
银河麒麟 aarch64 linux 里面的 qt 怎么安装kit
linux·服务器·qt
爱宇阳1 天前
从零开始部署 GitLab CE 18.4.2:Docker Compose 新手教程
docker·容器·gitlab
tryCbest1 天前
Linux使用Docker部署Node.js+Express+SQLite项目
docker·centos·node.js
小醉你真好1 天前
16、Docker Compose 安装Kafka(含Zookeeper)
docker·zookeeper·kafka
郝学胜-神的一滴1 天前
Linux系统函数stat和lstat详解
linux·运维·服务器·开发语言·c++·程序人生·软件工程
Mr.亮先生1 天前
常用、高效、实用的 Linux 服务器监控与运维工具清单
linux·运维·服务器
王道长服务器 | 亚马逊云1 天前
AWS CloudWatch Logs Insights:实时日志分析,让服务器问题无所遁形
服务器·云计算·aws
时空潮汐1 天前
无需公网 IP:神卓 K900 实现海康摄像头异地观看的两种简单方法
服务器·网络·tcp/ip·海康摄像头·神卓n600·神卓云监控
zx_zx_1231 天前
传输层协议 tcp
服务器·网络·tcp/ip