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

相关推荐
BD_Marathon28 分钟前
Ubuntu:Tomcat里面的catalina.sh
linux·ubuntu·tomcat
BD_Marathon29 分钟前
设置LInux环境变量的方法和区别_Ubuntu/Centos
linux·ubuntu·centos
Me4神秘32 分钟前
Linux国产与国外进度对垒
linux·服务器·安全
zhaowangji1 小时前
ubuntu 20.04 安装中文输入法 (sougou pin yin)
linux·ubuntu
杨浦老苏2 小时前
开源服务运行监控工具Lunalytics
docker·群晖·网站监控
牛奶咖啡133 小时前
Linux系统的常用操作命令——文件远程传输、文件编辑、软件安装的四种方式
运维·服务器·软件安装·linux云计算·scp文件远程传输·vi文件编辑·设置yum的阿里云源
weixin_437398213 小时前
转Go学习笔记(2)进阶
服务器·笔记·后端·学习·架构·golang
tan77º4 小时前
【Linux网络编程】Socket - UDP
linux·服务器·网络·c++·udp
szxinmai主板定制专家5 小时前
【精密测量】基于ARM+FPGA的多路光栅信号采集方案
服务器·arm开发·人工智能·嵌入式硬件·fpga开发
你不知道我是谁?5 小时前
负载均衡--四层、七层负载均衡的区别
运维·服务器·负载均衡