docker-搭建nginx服务

概念

Nginx 是一款高性能的 HTTP 服务器、 反向代理 服务器,同时也可作为负载均衡器、缓存服务器使用,以轻量级、高并发、低资源消耗著称,是云原生和容器化场景中最常用的网关 / 代理组件之一。

Nginx 作为 Web 服务器可以向各种浏览器等客户端提供浏览服务,比如我们通过手机、 电脑、平板可以访问百度来实现对 web 服务器的访问。

访问分为正向代理和反向代理

正向代理

正向代理就是"代理"客户端,当我们访问国外的网页时,往往会因为防火墙的原因,我们无法直接进行访问,但是如果我们执意要进行访问,就需要借助VPN来实现,此时VPN就是我们代理的媒介,客户端知道要访问的目标,并交给VPN来进行操作,但是访问目标并不知道客户端是通过VPN进行访问的

反向代理

反向代理就是"代理"服务器端,当我们使用外网访问某一网页的时候,实际上是会对流量进行一个转发,将请求代理到内网,然后再发送到服务器

操作

这里我使用的操作系统是Ubuntu

宿主机

首先我们先看服务器有没有安装 nginx

复制代码
nginx

如果nginx存在,我们先进行卸载

复制代码
# 停止 Nginx 服务
sudo systemctl stop nginx
sudo systemctl disable nginx

# 卸载 Nginx(保留配置文件)
sudo apt remove nginx nginx-common

# 彻底卸载(删除所有配置文件和依赖)
sudo apt purge nginx nginx-common nginx-core
sudo apt autoremove  # 清理无用依赖
sudo apt autoclean   # 清理缓存

# 检查是否残留文件(可选)
whereis nginx  # 若输出为空则已完全卸载

卸载完成之后,使用命令进行安装

复制代码
apt install nginx -y

如果我们使用 apt 安装nginx,安装后会自动启动,我们可以检查一下nginx是否已经启动

复制代码
ps aux | grep nginx

如果没有启动,就需要手动进行

复制代码
# 查看 nginx 版本
nginx -V
# 手动启动
nginx

访问nginx首页

查看nginx页面配置

复制代码
# 查看主配置文件
cat /etc/nginx/nginx.conf
# 查看默认虚拟主机配置文件
cat /etc/nginx/sites-available/default

ubuntu 安装后首页的信息可能被调整了,需要确认下修改,注意 centos 7.9 默 认的位置就是 /usr/share/nginx/html 无需修改,大家针对自己的系统可以检查后 看是否需要调整配置

复制代码
vi /etc/nginx/sites-available/default

我们可以通过/usr/share/nginx/html/index.html看到页面布局,同时也可以进行修改

如果我们要停止nginx,只需要kill对应的进程就可以了

容器

如果我们想要在容器里面运行nginx,就需要先拿到nginx镜像,我们先查看本地镜像

复制代码
# 查看当前存在的镜像
docker image

拉取指定版本的 nginx

复制代码
docker pull nginx:1.29.3

然后我们就可以在本地找到刚才下载的镜像

运行镜像,并且我们可以启动容器的shell,查看容器的操作系统

复制代码
docker run --name test -p 80:80 -it nginx:1.29.3 bash

手动启动nginx

复制代码
# 手动启动
nginx

另外打开一个shell执行curl命令,可以看到nginx的返回

复制代码
curl 127.0.0.1
相关推荐
m0_4887776521 小时前
Docker容器技术场景化操作实战及网络模式部署
运维·docker·容器·网络模式
2501_9399090521 小时前
Docker
运维·docker·容器
Java水解21 小时前
Dubbo跨机房调用实战:从原理到架构的完美解决方案
后端·dubbo
人工智能训练21 小时前
Docker Desktop WSL 集成配置宝典:选项拆解 + 精准设置指南
linux·运维·服务器·人工智能·docker·容器·ai编程
阿杰AJie21 小时前
安装 docker.io(不走外网 Docker 域名)
后端·docker
伞啊伞1 天前
docker作业
运维·docker·容器
野蛮人6号1 天前
p29 docker08-docker基础-本地目录挂载 无法正确添加mysql 点击更新后data没有正常显示
mysql·docker·容器
峰顶听歌的鲸鱼1 天前
15.docker:网络
运维·网络·docker·容器·云计算·php·学习方法
Asurplus1 天前
【Arbess】1、安装Arbess
ci/cd·docker·centos·arbess
遇见火星1 天前
Docker Compose 实战教程,理解Docker Compose核心概念,学会编写 compose.yml,掌握常用命令!
运维·docker·容器·compose