结合 Docker,快速掌握 Nginx 2 大核心用法
创作时间:
作者:
@小白创作中心
结合 Docker,快速掌握 Nginx 2 大核心用法
引用
51CTO
1.
https://blog.51cto.com/u_2820398/12841423
Nginx是目前最流行的Web服务器之一,广泛应用于静态资源托管和动态资源反向代理。本文将通过Docker环境,详细介绍Nginx的两大核心功能:静态资源托管和动态资源反向代理,并演示如何配置负载均衡。
一、环境准备
首先需要安装Docker Desktop,这是一个用于管理容器和镜像的工具。
安装完成后,可以通过docker
命令来管理容器和镜像。
二、运行Nginx容器
使用Docker运行Nginx镜像:
docker run --name nginx1 -p 81:80 -d nginx
这会将宿主机的81端口映射到容器内的80端口。运行后,可以通过浏览器访问http://localhost:81
看到Nginx的欢迎页面。
三、静态资源托管
1. 文件位置
在容器内,静态文件默认存储在/usr/share/nginx/html
目录下。可以通过Docker命令将该目录复制到宿主机:
docker cp nginx1:/usr/share/nginx/html ~/nginx-html
2. 文件替换
将自定义的HTML文件复制到该目录:
echo aaa > aaa.html
echo bbb > bbb.html
docker cp ~/nginx-html nginx1:/usr/share/nginx/html
3. 配置文件解析
Nginx的主配置文件位于/etc/nginx/nginx.conf
,其中包含了对/etc/nginx/conf.d/*.conf
的引用。具体路由配置通常在conf.d
目录下的子配置文件中。
4. 路由配置
Nginx支持四种location语法:
location = /path
:精确匹配location /path
:前缀匹配location ~ /path
:正则匹配(区分大小写)location ~* /path
:正则匹配(不区分大小写)location ^~ /path
:前缀匹配,优先级高于正则匹配
例如:
location = /111/ {
default_type text/plain;
return 200 "111 success";
}
location /222 {
default_type text/plain;
return 200 $uri;
}
location ~ ^/333/bbb.*\.html$ {
default_type text/plain;
return 200 $uri;
}
location ~* ^/444/AAA.*\.html$ {
default_type text/plain;
return 200 $uri;
}
配置完成后,需要重新加载Nginx配置:
docker exec nginx1 nginx -s reload
四、动态资源反向代理
1. 反向代理概念
反向代理是从用户角度看方向相反的代理,主要用于将请求转发到后端服务器。
2. 配置示例
假设有一个Nest.js服务运行在http://localhost:3000
,可以通过Nginx进行反向代理:
location ^~ /api {
proxy_pass http://192.168.1.6:3000;
}
3. 负载均衡
Nginx支持多种负载均衡策略:
- 轮询(默认)
- 带权重的轮询
- IP哈希
- 响应时间(需要插件)
配置示例:
upstream backend {
server 192.168.1.6:3001 weight=2;
server 192.168.1.6:3002;
}
location /api {
proxy_pass http://backend;
}
总结
通过Docker运行Nginx,可以方便地进行静态资源托管和动态资源反向代理。掌握Nginx的配置文件结构、路由配置语法以及负载均衡策略,是使用Nginx的核心技能。本文通过实际操作演示了这些功能的配置方法,希望对读者有所帮助。
热门推荐
沙特VS中国,阵容大换血沙特背水一战,新归化压阵国足力争拿分
上焦火旺,选对药物有妙招
宫保鸡丁的经典做法
揭秘酱油鸡:制作技巧大公开,教你轻松上手!
让科学家不惜深入地下700米捕捉的中微子,到底有多神秘?
统计学基础:概率及概率分布详解
SDN和SDWAN有什么区别?
医用外科手套:有粉与无粉的深度解析
财产险全解析:种类、范围与责任划分,企业个人必备
右眼为什么是红色的?
灵活就业者们到底需要怎样的保障?
温泉度假村设计:打造身心复原的疗愈空间
Demna正式接任Gucci创意总监,巴黎世家时代落幕
敬一丹“打卡”邯郸:三千年古城的古韵新颜
《狙击精英4》性能实测:DX12竟让A卡如此猖狂
武汉特警进社区,60多名东湖义警参加的这场培训很有“料”
全飞秒手术是否能够有效舒缓近视?了解手术原理与结果解析
十日终焉百科:全面解析末日题材作品的经典之作
【Vim多窗口编辑】:提升并行编辑效率的8大技巧
领了六个月失业补助金之后还有资格吗
减少饥饿和食欲的 18 种基于科学的方法
革兰氏阴性菌细胞壁大揭秘:结构和组成全知道
理论与实践的桥梁:差分方程在IT行业的10个实际应用案例
萨特说存在先于本质,存在主义究竟想要告诉我们什么
【物理层网络接口卡(NIC)】:技术进步与性能提升的深度剖析
解决榨汁机不转的方法(如何处理榨汁机突然无法运转的问题)
天干戊克壬是什么意思,戊土与壬水的关系
猫咪拒绝进食怎么办?原因分析与应对方案
压缩机为什么能制冷的原理(常见4种制冷压缩机原理)
无线鼠标连接不上电脑怎么办?一文详解无线鼠标连接问题解决方案