nginx-下载功能-状态统计-访问控制

  • 一、利用nginx做网站提供下载功能
    • 1. 进入nginx存放配置文件目录
    • 2. 编辑nginx.conf文件,开启下载功能
    • 3. 检查nginx.conf主配置文件是否正确
    • 4. 重启nginx服务
    • 5. 修改首页文件index.html
    • 6. 访问首页
    • 7. 去网页根目录下新建download目录
    • 8. 访问download页面
  • 二、状态统计
    • 1. 添加路由配置
    • 2. 重启nginx服务
    • 3. 访问nginx
  • 三、访问控制
    • 1. 基于ip地址
    • 2. 基于用户认证


一、利用nginx做网站提供下载功能

1. 进入nginx存放配置文件目录

[root@web-2 logs]# cd /usr/local/nginx1/conf/
[root@web-2 conf]# ls
fastcgi.conf fastcgi_params koi-utf mime.types nginx.conf scgi_params uwsgi_params win-utf
fastcgi.conf.default fastcgi_params.default koi-win mime.types.default nginx.conf.default scgi_params.default uwsgi_params.default


2. 编辑nginx.conf文件,开启下载功能

[root@web-2 conf]# vim nginx.confserver {listen       80;server_name  www.feng.com;access_log  logs/feng.com.access.log  main;error_log  logs/feng.com.error.log;location / {root   html/feng.com;index  index.html index.htm;autoindex on;  #添加配置可以提供下载功能的指令}

3. 检查nginx.conf主配置文件是否正确

[root@web-2 conf]# nginx -t
nginx: the configuration file /usr/local/nginx1/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx1/conf/nginx.conf test is successful

4. 重启nginx服务

[root@web-2 conf]# nginx -s reload


5. 修改首页文件index.html

[root@web-2 conf]# cd /usr/local/nginx1/html/feng.com/
[root@web-2 feng.com]# vim index.html 
<html><head><title>sanchuang</title></head><body><p><h1>welcome to sanchuang</h1></p><p><a href="http://www.feng.com/download">http://www.feng.com/download</a></p></body>
</html>

修改网页,不需要去刷新nginx服务,只要刷新浏览器


6. 访问首页

  1. 在浏览器里去访问http://www.feng.com首页文件

浏览器中访问

  1. linux中访问 -> curl
[root@web-2 feng.com]# curl  http://www.feng.com
<html><head><title>sanchuang</title></head><body><p><h1>welcome to sanchuang</h1></p><p><a href="http://www.feng.com/download">http://www.feng.com/download</a></p></body>
</html>

7. 去网页根目录下新建download目录

[root@web-2 feng.com]# cd /usr/local/nginx1/html/feng.com/
[root@web-2 feng.com]# mkdir download
[root@web-2 feng.com]# ls
404.html download index.html

在download目录下新建文件,提供下载测试使用

建议download目录下不要出现index.html,如果有的话,会自动显示index.html页面的内容

[root@web-2 feng.com]# cd download/
[root@web-2 download]# cp /boot . -r
[root@web-2 download]# touch feng.txt
[root@web-2 download]# touch zhang.txt
[root@web-2 download]# cp /etc/hosts .
[root@web-2 download]# ls
boot feng.txt hosts index.html.back index.html.back2 passwd zhang.txt


8. 访问download页面

点击即可下载
在这里插入图片描述


二、状态统计

状态统计功能,默认是没有开启的,需要在编译安装的时候,指定参数开启
--with-http_stub_status_module

1. 添加路由配置

[root@web-2 nginx1]# cd /usr/local/nginx1/conf/
[root@nginx-1 conf]# vim nginx.confserver {listen       80;server_name  localhost;location / {root   html;index  index.html index.htm;}#添加下面的路由配置location = /status {stub_status;}

2. 重启nginx服务

[root@nginx-1 conf]# nginx -t
nginx: the configuration file /usr/local/nginx1/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx1/conf/nginx.conf test is successful
[root@nginx-1 conf]# nginx -s reload


3. 访问nginx

可以使用ip地址或者域名,接上/status
http://192.168.100.157/status

得到如下状态信息

Active connections: 2 
server accepts handled requests9 9 15 
Reading: 0 Writing: 1 Waiting: 1 
  • Active connections
    当前活动的客户端连接数,包括Waiting连接数。
  • accepts
    接受的客户端连接总数。
  • handled
    已处理的连接总数。通常,参数值与accepts 除非达到某些资源限制(例如, worker_connections限制)相同。
  • requests
    客户端请求总数。
  • Reading
    nginx正在读取请求标头的当前连接数。 --》读取请求报文
  • Writing
    nginx正在将响应写回到客户端的当前连接数。 --》返回响应报文
  • Waiting
    当前等待请求的空闲客户端连接数 --》占着茅坑不拉屎的人的数量

三、访问控制

1. 基于ip地址

allow和deny指令将按其定义的顺序应用

deny

[root@nginx-1 conf]# vim nginx.conflocation = /status {stub_status;deny 192.168.100.1;}[root@nginx-1 conf]# nginx -t
nginx: the configuration file /usr/local/nginx1/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx1/conf/nginx.conf test is successful
[root@nginx-1 conf]# nginx  -s reload

allow

[root@nginx-1 conf]# vim nginx.conflocation = /status {stub_status;allow 192.168.100.1;deny all;}[root@nginx-1 conf]# nginx  -t
nginx: the configuration file /usr/local/nginx1/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx1/conf/nginx.conf test is successful
[root@nginx-1 conf]# nginx  -s reload

2. 基于用户认证

编辑配置文件,重启nginx服务

[root@nginx-1 conf]# vim nginx.conflocation = /status {stub_status;auth_basic "status auth";  #添加的配置auth_basic_user_file  htpasswd;  #添加的配置allow 192.168.100.1;deny all;}
[root@nginx-1 conf]# nginx  -t
nginx: the configuration file /usr/local/nginx1/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx1/conf/nginx.conf test is successful
[root@nginx-1 conf]# nginx  -s reload

新建htpasswd文件

[root@nginx-1 conf]# yum install httpd-tools -y
[root@nginx-1 conf]# htpasswd -c /usr/local/nginx1/conf/htpasswd cali
New password: 
Re-type new password: 
Adding password for user cali
# 查看生成的用户名和密码文件内容
[root@nginx-1 conf]# cat htpasswd  
cali:$apr1$6yRM3Suq$wf5MfqAMtRKFE9oxIPSsz/

访问验证是否生效,支持用户名和密码认证
使用浏览器去访问

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/96244.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/96244.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/96244.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GitLab CI/CD、Jenkins与GitHub Actions在Kubernetes环境中的方案对比分析

GitLab CI/CD、Jenkins与GitHub Actions在Kubernetes环境中的方案对比分析 随着容器化和微服务的普及&#xff0c;基于Kubernetes的部署已经成为主流。在实际的生产环境中&#xff0c;如何选择合适的CI/CD流水线方案以实现自动化构建、测试、部署和发布&#xff0c;直接关系到团…

tcp会无限次重传吗

tcp作为面向连接的&#xff0c;可靠的&#xff0c;字节流。最重要的特点就是可靠&#xff0c;其中重传又是保证可靠的重要前提。那么当tcp发送数据之后&#xff0c;收不到ack的情况下&#xff0c;会无限次重传吗。不会。# cat /proc/sys/net/ipv4/tcp_retries1 3 # cat /proc/s…

EasyAIoT平台部署

EasyAIoT官方文档专注于 AIoT 智能硬件与工业软件解决方案&#xff0c;提供从设备接入到云端管理的全栈服务http://pro.basiclab.top:9988/

功能测试相关问题

1.功能测试流程&#xff08;工作流程&#xff09;需求分析 -- 测试点分析&#xff08;xmind&#xff09;-- 编写测试计划/用例及评审 -- 执行测试用例&#xff08;开发提交测试&#xff09;-- 发现缺陷通过缺陷管理工具提交 -- 回归测试及bug验证&#xff08;开发提测新版本&am…

微服务网关中数据权限传递的那些坑:从 Feign 兼容性问题到解决方案

在微服务架构中&#xff0c;网关作为流量入口&#xff0c;常常需要承担身份认证、权限校验等职责。其中&#xff0c;用户数据权限的传递看似简单&#xff0c;却隐藏着不少兼容性陷阱。本文将结合实际项目经验&#xff0c;聊聊如何解决 Feign 调用时请求头中 JSON 数据的传递问题…

基于SpringBoot的旅游攻略系统网站【2026最新】

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

thingsboard 服务器在2核CPU、2G内存资源配置下如何调优提速,适合开发/演示

物联网设备管理平台致力于为客户提供高效、可靠的物联网解决方案。基于开源物联网平台进行深度二次开发&#xff0c;我们打造了功能强大、灵活易用的物联网平台&#xff0c;广泛应用于智能家居、智能工厂、智能城市等多个领域 一、标准资源要求 CPU&#xff1a;建议至少 8 vCP…

C#多线程学习—主子线程,Invoke与begininvoke

一、为什么需要多线程操作&#xff1f;在 WinForms 应用程序中&#xff0c;主线程&#xff08;UI 线程&#xff09;负责处理用户交互和界面更新。当执行耗时操作&#xff08;如网络请求、文件读写、复杂计算&#xff09;时&#xff0c;如果直接在 UI 线程执行&#xff0c;会导致…

Vue 核心知识点总结

Vue 作为国内最普及的前端框架,是面试中考察概率最高的技术之一。本文将系统梳理 Vue 的核心知识点,包括 Vue3 与 Vue2 的区别、组件通信、生命周期、性能优化等关键内容。 🔥 Vue3 和 Vue2 的主要区别 Vue 3 提供了更现代化、更高性能的架构,通过 Composition API 和 P…

Python脚本每天爬取微博热搜-升级版

主要优化内容&#xff1a; 定时任务调整&#xff1a; 将定时任务从每小时改为每10分钟执行一次 调整了请求延迟时间&#xff0c;从1-3秒减少到0.5-1.5秒 缩短了请求超时时间&#xff0c;从10秒减少到8秒 性能优化&#xff1a; 移除了广告数据的处理&#xff0c;减少不必要的处理…

win11兼容运行远古游戏

游戏<远古战争>属于win7时代的游戏&#xff0c;在win11系统中运行&#xff0c;当鼠标移动立马卡住 解决方案&#xff1a; 最优&#xff1a;采用wmware虚拟机安装win7系统 最简单&#xff1a;使用 DxWnd 模拟老游戏运行环境 DxWnd官网下载 附录&#xff1a;游戏下载网址…

Docker小游戏 | 使用Docker部署人生重开模拟器

Docker小游戏 | 使用Docker部署人生重开模拟器 前言 项目介绍 项目简介 项目预览 二、系统要求 环境要求 环境检查 Docker版本检查 检查操作系统版本 三、部署人生重开模拟器小游戏 下载镜像 创建容器 检查容器状态 检查服务端口 安全设置 四、访问人生重开模拟器 五、总结 前言…

从依赖到自研:一个客服系统NLP能力的跃迁之路

前言&#xff1a;七年磨一剑的技术突围2015年在某平台上线初期&#xff0c;智能客服系统即采用行业通用的第三方NLP解决方案。在随后的八年发展历程中&#xff0c;系统虽历经三次重大版本迭代&#xff0c;但始终未能突破核心语义识别能力的外部依赖。这种依赖带来了三重困境&am…

50.Seata-AT模式

AT模式同样是分阶段提交的事务模型。优势是弥补了XA模型中资源锁定周期过长的缺陷。 没有代码入侵,框架自动完成快照生成、回滚和提交。实现非常简单。 两阶段之间属于软状态,属于最终一致。 AT模式 阶段一RM的工作: 1.注册分支事务 2.记录undo-log (数据快照),记录更…

Android13车机系统自定义系统栏显示策略之状态栏下拉异常

1、引言 文章《Android13车机系统实现系统栏自定义显示策略》介绍了车机系统上自定义系统栏(状态栏、底部栏)显示策略,文中末尾提到了一个遗留问题: 由于状态栏区域支持点击或下拉显示出快捷设置&消息通知栏,三方应用显示时,从状态栏中间区域而不从顶部边缘下拉,底…

【Langchain系列五】DbGPT——Langchain+PG构建结构化数据库智能问答系统

Langchain二次开发专栏 【Langchain系列一】常用大模型的key获取与连接方式 【Langchain系列二】LangChain+Prompt +LLM智能问答入门 【Langchain系列三】GraphGPT——LangChain+NebulaGraph+llm构建智能图数据库问答系统 【Langchain系列四】RAG——基于非结构化数据库的智能问…

生信分析自学攻略 | R语言数据类型和数据结构

在前面两篇文章中&#xff0c;我们已经成功搭建了R和RStudio这一强大的生信分析平台。然而&#xff0c;工具再好&#xff0c;若不懂得如何“放置”和“理解”你的数据&#xff0c;一切都将寸步难行。今天&#xff0c;我们将学习R语言最重要的部分——数据类型&#xff08;Data …

Python工程与模块命名规范:构建可维护的大型项目架构

目录 Python工程与模块命名规范&#xff1a;构建可维护的大型项目架构 引言&#xff1a;命名的重要性 在软件开发中&#xff0c;命名可能是最容易被忽视但却是最重要的实践之一。根据2023年对Python开源项目的分析&#xff0c;超过35%的维护问题与糟糕的命名约定直接相关。一个…

Props 与 State 类型定义

下面&#xff0c;我们来系统的梳理关于 TypeScript 集成&#xff1a;Props 与 State 类型定义 的基本知识点&#xff1a;一、TypeScript 在 React 中的核心价值 TypeScript 为 React 开发提供了强大的类型安全保证&#xff0c;特别是在定义组件 Props 和 State 时&#xff1a; …

[1Prompt1Story] 注意力机制增强 IPCA | 去噪神经网络 UNet | U型架构分步去噪

第五章&#xff1a;注意力机制增强&#xff08;IPCA&#xff09; 欢迎回到1Prompt1Story&#x1f43b;‍❄️ 在第四章中&#xff0c;我们掌握了**语义向量重加权&#xff08;SVR&#xff09;**技术&#xff0c;通过语义向量调节实现核心要素强化。 但当场景从"雪地嬉戏…