结合 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的核心技能。本文通过实际操作演示了这些功能的配置方法,希望对读者有所帮助。
热门推荐
猛!26号线顺德段环评公示!大良、容桂设站!将直通广州城区
东北酸菜粗犷百搭,南方酸菜细腻精致
痴迷道教残害宫女,嘉靖帝险遭刺杀
静电场描绘实验:揭秘静电电压的秘密
当孩子羡慕“富二代”:6个步骤培养健康金钱观
高钾血症患者如何科学吃出健康?
传统与奢华的完美融合:鲍鱼辣椒炒肉的创新美味
厦门夜景打卡攻略:白鹭洲公园、园博苑、十里长堤必刷!
蔡尖尾山天语舟:厦门最美夜景打卡地
厦门三大夜游打卡圣地:鼓浪屿、白鹭洲公园、中山路必去!
法语数字表示法:chiffre、nombre和numéro有何不同?
汉代附子用量达30克,现代药典仅允3克:中药剂量之变
倒车影像不显示的5大原因及解决办法
经济繁荣推动饮食革命:一日三餐如何成为古代生活标配
实木狗狗床,让你的毛孩睡得像猪一样香
主持人倪萍:13届春晚见证演艺双栖传奇
辛弃疾教你如何用古诗词激励自己
古诗词遇上现代创意:让春节祝福更有新意
艾宾浩斯遗忘曲线助你高效背单词
阿咖酚散治头痛,你用对了吗?
广州十大一日游景点:从广州塔到白云山
同底数幂相乘,你真的会了吗?
首个获批NPDR适应症中成药,复方丹参滴丸助力糖尿病视网膜病变早防早治
均衡营养告别指甲竖纹烦恼
许昌美食大赏:传统与现代的舌尖对话
五大制度创新,宋朝实现三百年社会稳定
指甲竖纹是肝脏问题的预警信号吗?
糖尿病视网膜病变治疗新突破:FTO蛋白成关键靶点
熬夜党看过来!你的指甲透露了啥?
许昌十大必吃美食推荐:从腐竹到羊肉汤,每一道都凝聚着千年味道