【运维知识进阶篇】集群架构-Nginx常用模块(目录索引+状态监控+访问控制+访问限制)(上)

本文涉及的产品
访问控制,不限时长
简介: 【运维知识进阶篇】集群架构-Nginx常用模块(目录索引+状态监控+访问控制+访问限制)

这篇文章给大家介绍Nginx常用模块,包括Nginx目录索引,Nginx状态监控,Nginx访问控制,Nginx访问限制。熟悉使用模块,才能给Nginx增加色彩。

目录索引模块

1. Nginx不允许列出整个目录浏览下载,可以用模块自己做个下载页。
2. ngx_http_autoindex_module模块处理以斜杠字符(’/’)结尾的请求,并生成目录列表。
3. 当ngx_http_index_module模块找不到索引文件时,通常会将请求传递给ngx_http_autoindex_module模块。

一、配置方法

1. autoindex on;如果在location下写,只对当前location生效。不能写index.html
2. 
3. #autoindex常用参数
4. autoindex_exact_size off;
5. 默认为on,显示出文件的确切大小,单位是bytes。
6. 修改为off,显示出文件的大概大小,单位是KB或者MB或者GB。
7. 
8. autoindex_localtime on;
9. 默认为off,显示的文件时间为GMT时间。
10. 修改为on,显示的文件时间为文件的服务器时间。
11. 
12. charset utf-8,gbk;
13. 默认中文目录乱码,添加上解决乱码
14. 
15. 对下载资源进行限速
16. limit_rate rate
17. limit_rate_after size

二、配置示例

1. [root@Web01 ~]# cat /etc/nginx/conf.d/module.conf
2. server {
3.   listen 80;
4.   server_name module.koten.com
5.   charset utf-8,gbk;
6. 
7. location / {
8.     root /code;
9. index index.html index.htm;
10.   }
11. 
12. location /download {
13.     alias /module;    #根下的module
14.     autoindex on;
15.     autoindex_exact_size off;
16.     autoindex_localtime on;
17.   }
18. }
19. [root@Web01 code]# systemctl restart nginx
20. [root@Web01 code]# mkdir /module
21. [root@Web01 code]# touch /module/1.txt
22. [root@Web01 code]# touch /module/你好.txt
23. 
24. 注意路径问题:
25. location /{
26.     root /code/;   #/=====/code 用户访问www.baidu.com实际是在/code目录下查找index.html
27. }

状态监控模块

ngx_http_stub_status_module模块提供对基本状态信息的访问,默认情况下不构建此模块,应使用--with-http_stub_status_module配置参数启用它

1. [root@Web01 code]# cat /etc/nginx/conf.d/module.conf
2. server {
3.     listen 80;
4.     server_name module.koten.com;
5. access_log off;
6. 
7. location /nginx_status {
8.         stub_status;
9.     }
10. }
11. [root@Web01 code]# systemctl restart nginx

1. Active connections  # 当前活动的连接数
2. accepts             # 已接收T的总TCP连接数量
3. handled             # 已处理的TCP连接数量
4. requests            # 当前http请求数
5. 
6. Reading             # 当前读取请求头数量
7. Writing             # 当前响应的请求头数量
8. Waiting             # 等待的请求数,开启了keepalive
9. 
10. # 注意, 一次TCP的连接,可以发起多次http的请求, 如下参数可配置进行验证
11. keepalive_timeout  0;   # 类似于关闭长连接
12. keepalive_timeout  65;  # 65s没有活动则断开连接

访问控制模块

基于IP的访问控制http_access_module和基于用户登陆认证http_auth_basic_module

一、Nginx基于IP访问控制

1、访问控制配置,拒绝指定IP,其他全部允许

1. [root@Web01 code]# cat /etc/nginx/conf.d/module.conf
2. server {
3.     listen 80;
4.     server_name module.koten.com;
5. access_log off;
6. 
7. location /nginx_status {
8.         stub_status;
9.  deny 10.0.0.1;
10.   allow all;
11.     }
12. }
13. [root@Web01 code]# systemctl restart nginx

由于本机IP是10.0.0.1所以访问失败,权限拒绝

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
目录
相关文章
|
23天前
|
人工智能 云计算 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日~10日在江苏张家港召开的CCF ChinaNet(即中国网络大会)上,众多院士、教授和业界技术领袖齐聚一堂,畅谈网络未来的发展方向,聚焦智算集群网络的创新变革。
阿里云引领智算集群网络架构的新一轮变革
|
22天前
|
人工智能 运维 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日至10日,CCF ChinaNet(中国网络大会)在江苏张家港召开,众多院士、教授和技术领袖共聚一堂,探讨网络未来发展方向。阿里云研发副总裁蔡德忠发表主题演讲,展望智算技术发展趋势,提出智算网络架构变革的新思路,发布高通量以太网协议和ENode+超节点系统规划,引起广泛关注。阿里云HPN7.0引领智算以太网生态蓬勃发展,成为业界标杆。未来,X10规模的智算集群将面临新的挑战,Ethernet将成为主流方案,推动Scale up与Scale out的融合架构,提升整体系统性能。
|
20天前
|
存储 缓存 NoSQL
【赵渝强老师】Memcached集群的架构
Memcached 是一个高性能的分布式内存对象缓存系统,通过在内存中维护一个巨大的 Hash 表来存储各种格式的数据,如图像、视频、文件及数据库检索结果等。它主要用于减轻数据库压力,提高网站系统的性能。Memcached 不支持数据持久化,因此仅作为缓存技术使用。其数据分布式存储由客户端应用程序实现,而非服务端。
【赵渝强老师】Memcached集群的架构
|
20天前
|
调度 Docker 容器
【赵渝强老师】Docker Swarm集群的体系架构
Docker Swarm自1.12.0版本起集成至Docker引擎,无需单独安装。它内置服务发现功能,支持跨多服务器或宿主机创建容器,形成集群提供服务。相比之下,Docker Compose仅限于单个宿主机。Docker Swarm采用主从架构,Swarm Manager负责管理和调度集群中的容器资源,用户通过其接口发送指令,Swarm Node根据指令创建容器运行应用。
|
2月前
|
机器学习/深度学习 人工智能 运维
构建高效运维体系:从自动化到智能化的演进
本文探讨了如何通过自动化和智能化手段,提升IT运维效率与质量。首先介绍了自动化在简化操作、减少错误中的作用;然后阐述了智能化技术如AI在预测故障、优化资源中的应用;最后讨论了如何构建一个既自动化又智能的运维体系,以实现高效、稳定和安全的IT环境。
68 4
|
2月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
59 4
|
17天前
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####
|
26天前
|
机器学习/深度学习 数据采集 运维
智能化运维:机器学习在故障预测和自动化响应中的应用
智能化运维:机器学习在故障预测和自动化响应中的应用
51 4
|
2月前
|
存储 运维 监控
高效运维:从基础架构到自动化管理的全面指南
【10月更文挑战第11天】 本文将深入探讨如何通过优化基础架构和引入自动化管理来提升企业IT运维效率。我们将从服务器的选择与配置、存储解决方案的评估,到网络的设计与监控,逐一解析每个环节的关键技术点。同时,重点讨论自动化工具在现代运维中的应用,包括配置管理、持续集成与部署(CI/CD)、自动化测试及故障排除等方面。通过实际案例分析,展示这些技术如何协同工作,实现高效的运维管理。无论是IT初学者还是经验丰富的专业人员,都能从中获得有价值的见解和实操经验。
78 1
|
2月前
|
运维 监控 测试技术
构建高效运维体系:从监控到自动化的实践之路
【10月更文挑战第9天】 在当今信息技术飞速发展的时代,运维作为保障系统稳定性与效率的关键角色,正面临前所未有的挑战。本文将探讨如何通过构建一个高效的运维体系来应对这些挑战,包括监控系统的搭建、自动化工具的应用以及故障应急处理机制的制定。我们将结合具体案例,分析这些措施如何帮助提升系统的可靠性和运维团队的工作效率。
54 1