nginx开启资源目录表

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

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

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

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

nginx开启资源目录-LMLPHP
这段配置实际上是用于配置 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;
    nginx开启资源目录-LMLPHP
location /resources/ {
      charset utf-8;
      alias   F:/;
      autoindex on;
}

nginx开启资源目录-LMLPHP
此时就完成了中文路径解析的配置,并显示确实是有效。可以在线打开这个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

nginx开启资源目录-LMLPHP
快速、高效

在线看视频

nginx开启资源目录-LMLPHP
清晰,流畅,极速

在线浏览图片

nginx开启资源目录-LMLPHP
高清、无损

05-30 20:16