nginx开启资源目录

news2024/11/18 19:43:43

nginx开启资源目录表

  • 可访问开放资源目录下的任何文件以及视频,图片等。
  • 可以作为一个妥妥的线上网盘资源托管空间使用。

上一篇文档揭示了nginx的神秘面纱,初步介绍与启动了nginx的基本功能和使用前端nginx学习配置开发验证,对各种配置已经验证了可用性和实用性!!!

那如何开放出一个公用的静态资源目录,可以访问所有的文件呢?

location /resources/ {
      alias   F:/;
      autoindex on;
}

在这里插入图片描述
这段配置实际上是用于配置 Nginx 服务器块,用于从文件系统的特定目录提供文件。让我们逐个解释每个指令的作用:

  1. location /resources/:该指令指定要匹配传入请求的 URL 前缀(/resources/)。因此,任何以 /resources/ 开头的请求都将由此块内的指令处理。

  2. alias F:/;:该指令指定文件系统上文件的物理路径,即请求对应的文件应该位于的位置。在这里,是 F:/alias 指令用于将 URL 映射到文件系统上的目录,当访问相应的 URL 时,实际上是从该目录中提供文件。

  3. autoindex on;:该指令启用目录列表功能,如果目录中没有索引文件(如 index.html),则会生成目录中文件的列表。这意味着如果有人访问 /resources/ 中的目录,并且该目录中没有索引文件,Nginx 将会为用户生成一个包含该目录中文件列表的页面。

因此,通过这些配置,任何以 /resources/ 开头的请求都将从文件系统的 F:/ 目录提供文件,如果没有索引文件,Nginx 将会生成该位置的目录列表。


以上就成功的将一个文件夹作为静态文件资源开放出来,但同时也发现一个问题这个目录这里是中文乱码的,是哪里的问题?如何配置?

  • 在浏览器中显示的路径是乱码,通常是因为浏览器没有正确地解析 URL 中的中文字符。此时为了确保浏览器可以正确地显示中文路径: charset utf-8;
    在这里插入图片描述
location /resources/ {
      charset utf-8;
      alias   F:/;
      autoindex on;
}

在这里插入图片描述
此时就完成了中文路径解析的配置,并显示确实是有效。可以在线打开这个PDF。
作为nginx静态http资源展示,有几个比较高效的配置:

  • 默认媒体类型以“流”的形式发送。
  • 包含mime.types文件,用于定义各种文件类型的默认 MIME 类型
  • 启用sendfile特性,用于提高文件发送性能
  • 读取类似于图片,视频,pdf等有更好的效率
http {
    # 包含mime.types文件,用于定义各种文件类型的默认 MIME 类型
    include       mime.types;
    # 默认的 MIME 类型
    default_type  application/octet-stream;
    # 启用sendfile特性,用于提高文件发送性能
    sendfile        on;
}

此时完整的配置:

# Nginx配置文件
# 定义了服务器如何运行和处理请求的配置

# 指定使用的工作进程数
worker_processes  1;

# 事件处理模块配置,用于设置连接处理方式
events {
    # 每个工作进程的最大连接数
    worker_connections  1024;
}

# HTTP服务配置,包括全局、服务器块和位置块配置
http {
    # 包含mime.types文件,用于定义各种文件类型的默认 MIME 类型
    include       mime.types;
    # 默认的 MIME 类型
    default_type  application/octet-stream;

    # 启用sendfile特性,用于提高文件发送性能
    sendfile        on;
    # 设置客户端连接的保持活动状态超时时间
    keepalive_timeout  65;

    # 启用gzip压缩,减少数据传输量
    gzip  on;

    # 服务器块配置,可以有多个,用于处理不同的请求
    server {
        # 监听的端口和服务器名称
        listen       9000;
        server_name  localhost;

        # 首页请求处理
        location / {
            # 尝试按顺序查找对应的文件,未找到则重定向到/index.html或/index.htm,“也是vue项目一般的访问配置”
            try_files $uri $uri/ /index.html /index.htm;
        }

        # API请求处理
        location  /api/ {
            # 将API请求代理到指定的IP地址和端口上
            proxy_pass  http://192.168.31.111:9000;
        }
        # 静态资源目录开放
        location /resources/ {
	      charset utf-8; # 中文文件名转化
	      alias   F:/; # 静态目录’可修改‘
	      autoindex on; # 自动生成文件目录结构
		}
        
    }
}

在线看PDF

在这里插入图片描述
快速、高效

在线看视频

在这里插入图片描述
清晰,流畅,极速

在线浏览图片

在这里插入图片描述
高清、无损

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter容器

内边距padding class MyBody extends StatelessWidget {overrideWidget build(BuildContext context) {return Container(//为了可以看出内边距,将容器设置成红色color: Colors.red,child: Padding(padding: EdgeInsets.all(15),child: MyImage(https://raw.github…

SpheroGPT: 声控自然语言编程 AI 玩具 Demo 具身智能 图文解说 完全开源机器人

背景介绍 因为生病请了长假. 一周前状态开始恢复, 于是尝试用 LLM (ChatGPT3.5) + Sphero 开发一个可以声控自然语言编程的 AI 玩具, 作为学习 ChatGPT 应用开发的方法. 差不多十天时间把开发目标基本都实现了, 这里和大家分享一下心得体会. Demo 示例视频 先把录制的几个 d…

企业软件商城:管理路径与价值的全面解析

在现代企业的运营中,软件资产管理(SAM)的实施不仅仅是为了应对审计需要,更重要的是其对于企业持续健康发展的深远影响。本文将详细探讨软件合规性管理的多重意义,并分析如何通过恰当的环境选择和高效系统,提…

WPS PPT学习笔记 1 排版4原则等基本技巧整理

排版原则 PPT的排版需要满足4原则:密性、对齐、重复和对比4个基本原则。 亲密性 彼此相关的元素应该靠近,成为一个视觉单位,减少混乱,形成清晰的结构。 两端对齐,1.5倍行距 在本例中,19年放左边&#x…

淄博公司商标驳回复审条件及流程

商标是人工审查的,所以不同的人会有不同的想法和意见,导致同一案件的审查结果不同。特别是商标审查周期缩短到5个月,全国平均每个工作日有1万多个商标提交申请,而全国只有一个商标审查单位——国家商标局提交申请。这种情况下&…

AI图书推荐:用100个ChatGPT提示词掌握Python编程

《用100个ChatGPT提示词掌握Python编程》(ChatGPT:Your Python Coach Mastering the Essentials in 100 Prompts) 塞尔吉奥罗哈斯-加莱亚诺(Sergio Rojas-Galeano)是一位热情的计算机科学家,对人工智能、机器学习、进化…

OceanBase数据库诊断调优,与高可用架构——【DBA从入门到实践】第八期

在学习了《DBA从入门到实践》的前几期课程后,大家对OceanBase的安装部署、日常运维、数据迁移以及业务开发等方面应当已经有了全面的认识。若在实际应用中遇到任何疑问或挑战,欢迎您在OceanBase社区问答论坛中交流、讨论。此次,《DBA从入门到…

在线投票系统源码 网上投票平台创建 安全稳定 支持自定义投票规则+礼物道具功能

分享一款在线投票系统源码,是一款功能丰富、安全稳定的网络投票平台解决方案。通过本源码,用户可以轻松创建并管理各种在线投票活动,支持自定义投票规则,同时集成礼物道具功能,增强用户参与度和投票活动的趣味性&#…

# 全面解剖 消息中间件 RocketMQ-(2)

全面解剖 消息中间件 RocketMQ-(2) 一、RocketMQ – RocketMQ 各角色介绍 1、RocketMQ 各角色介绍 Producer : 消息的发送者; 举例:发信者。Consumer : 消息接收者; 举例:收信者。Broker : 暂存和传输消息; 举例:邮局。NameServer : 管理 Broker; 举例…

数字人实训室解决方案

前言 近年来,政策层面的积极推动为数字人产业铺设了坚实的基石。2021年,“十四五”规划将虚拟数字技术纳入其中,强调技术创新引领行业应用的革新,加速数字人在各领域的实际应用。紧接着的《“十四五”数字经济发展规划》进一步明确…

CVE-2024-1561 Gradio component_server存在任意文件读取漏洞

声明: 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 简介 Gradio是一个用于构建快速原型和部署机器学习模型的…

集成环境 ClassNotFound 分析与排查

项目场景: 最近项目在集成环境,经常会报 ClassNotFound 异常, 而在开发环境通过IDEA查看项目,类是不缺的 原因分析: 经过排查,发现是项目中引用的 API jar包更新了,但是集成环境却没有成功更…

ATA-2081高压放大器的结构组成及原理是什么

高压放大器是一种电子设备,用于将低电压信号增强到高电压水平,以满足特定应用的需求。它们在各种领域中都有广泛的用途,包括医学成像、科学研究、通信系统和声学应用。下面西安安泰电子来为大家介绍高压放大器的结构组成和工作原理。 高压放大…

kafka Kerberos集群环境部署验证

背景 公司需要对kafka环境进行安全验证,目前考虑到的方案有Kerberos和SSL和SASL_SSL,最终考虑到安全和功能的丰富度,我们最终选择了SASL_SSL方案。处于知识积累的角度,记录一下kafka keberos安装部署的步骤。 机器规划 目前测试环境公搭建了三台kafka主机服务,现在将详细…

国家开放大学Java语言程序设计实验2:分支、循环和跳转语句的使用

作业答案 联系QQ:1603277115 实验目的 通过本实验,了解和掌握分支、循环和跳转语句的使用及常见问题处理。 问题描述 杂物店正在做促销活动,很多商品都在进行特价促销,针对特价商品的购买数量做了限制,具体的促销办法是&#…

基于物理的AlGaN/GaN高电子迁移率晶体管的紧凑直流和交流模型

来源:A Physics-Based Compact Direct-Current and Alternating-Current Model for AlGaN/GaN High Electron obility Transistors(中国物理快报 07年) 摘要 一套针对 AlGaN/GaN 高电子迁移率晶体管 (HEMT) 的直流和小信号特性的分析模型被…

2024年商业管理与文化传播国际学术会议(ICBMCC 2024)

2024年商业管理与文化传播国际学术会议(ICBMCC 2024) 2024 International Conference on Business Management and Cultural Communication 一、【会议简介】 2024年商业管理与文化传播国际学术会议(ICBMCC 2024)是一次汇集全球商业管理领域…

Java与GO语言对比分析

你是不是总听到go与java种种对比,其中在高并发的服务器端应用场景会有人推荐你使用go而不是 java。 那我们就从两者运行原理和基本并发设计来对比分析,看看到底怎么回事。 运行原理对比 java java 中 jdk 已经帮我们屏蔽操作系统区别。 只要我们下载并…

【MySQL数据库】CRUD 增 删 改 查 超详解,有这一篇就够了!

​ ​ 🔥个人主页: 中草药 🔥专栏:【MySQL】探秘:数据库世界的瑞士军刀 目录 ⚗️一.CRUD 🧪二.新增(Create) 🧫1.基本操作 🧬2.使用SELECT插入 &#x…

【虚拟机软件】 VMware Workstation Pro 17 新建 Linux 虚拟机教程(CentOS 7 版本)

文章目录 下载安装 VMware Workstation Pro 17 软件下载 Linux 的 ISO 映像文件Linux版本选择 新建虚拟机准备配置新建安装 后续设置文章导航 我是一名立志把细节说清楚的博主,欢迎【关注】🎉 ~ 原创不易, 如果有帮助 ,记得【点赞…