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
相关推荐
yy55273 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
洛阳泰山7 小时前
MaxKB4j Docker Compose 部署指南
java·docker·llm·springboot·rag·maxkb4j
一殊酒9 小时前
【Docker】Docker Desktop 安装指南及汉化教程
运维·docker·容器
Drone_xjw9 小时前
【环境搭建】Windows 10上使用Docker搭建本地Git仓库(Gitea)完整教程
windows·git·docker
vpk11212 小时前
【无标题】
运维·elasticsearch·docker
❀͜͡傀儡师12 小时前
通过npm 手动安装、Docker 部署 OpenClaw小龙虾
前端·docker·npm
一殊酒14 小时前
【Docker】快速入门指南
运维·docker·容器
**蓝桉**14 小时前
prometheus监控docker容器(Rocky9)
docker·容器·prometheus
面对疾风叭!哈撒给14 小时前
Linux之Docker安装Mysql 8.0+
linux·mysql·docker
张道宁14 小时前
基于Spring Boot与Docker的YOLOv8检测服务实战
spring boot·yolo·docker