1Panel里开启网站目录列表,本质是给Nginx加上 autoindex 配置。
核心操作路径是:网站 → 找到目标站点 → 配置 → 配置文件,然后在 location 块里加上几行参数。
由于1Panel的静态网站默认用Nginx(OpenResty)驱动,配置方法和原生Nginx一致。
具体步骤如下:
🛠️ 操作步骤
进入网站配置:登录1Panel面板,点击左侧「网站」,找到你要开启目录列表的站点,点击「配置」。
编辑配置文件:在配置页面切换到「配置文件」标签,找到对应的 server 或 location 块。
添加关键参数:在 location / 块内添加以下内容:
location / {
autoindex on; # 开启目录列表
autoindex_exact_size off; # 文件大小显示为 KB/MB/GB,而非字节
autoindex_localtime on; # 文件时间显示为服务器本地时间
charset utf-8; # 解决中文文件名乱码
}
保存并重载:保存配置后,点击「重载」或执行 nginx -s reload 使配置生效。

⚠️ 注意事项
权限必须到位:Nginx 运行用户(如
www-data)需要对目标目录有读和执行权限,建议目录权限为755、文件为644。如果出现 403,多半是权限问题。index 指令冲突:如果目录下存在
index.html,Nginx 会优先显示该页面,而不会列出目录。要么删掉index指令,要么确保目录里没有索引文件。URL 结尾斜杠:访问目录时记得带上结尾的
/,如http://你的域名/files/,否则可能无法触发列表。
💡 额外提示
如果你是想在1Panel里通过其他方式(比如文件管理)直接浏览目录,面板自带的「文件」功能就可以,不需要额外配置。
另外,如果目录列表涉及大量文件,开启后可能对性能有轻微影响,注意控制目录规模

开启Nginx目录列表的性能影响,核心取决于目录文件数量和访问场景,普通小目录几乎无感知,超大目录则会产生明显开销。
📊 不同场景的性能表现
小目录(几十到几百个文件):性能影响可以忽略不计。Nginx仅做一次轻量目录遍历,CPU和磁盘IO开销极小,和普通静态文件访问几乎没有区别。
中等目录(几千个文件):单请求会触发多次stat系统调用,首次访问时磁盘IO会有小幅上升;开启文件元数据缓存后,重复访问的性能会回落至接近正常水平。
超大目录(数万个文件以上):会产生严重性能问题。Nginx需要一次性扫描全量文件生成HTML列表,单次请求就可能占满单个Worker进程CPU,甚至引发OOM、连接耗尽,直接拖垮站点响应。
⚙️ 性能开销的核心来源
目录列表的性能瓶颈几乎都集中在文件系统层,而非Nginx本身的逻辑:
目录遍历开销:每一次目录列表请求,Nginx都要读取整个目录的文件条目,获取每个文件的大小、修改时间等元数据,文件越多遍历耗时越长。
重复系统调用:未开启缓存时,每次请求都会对所有文件执行stat()系统调用,高并发场景下会快速拉高磁盘IO等待。
HTML渲染成本:文件量巨大时,Nginx在内存中拼接生成完整的目录列表HTML页面,会占用大量CPU和内存资源。
✅ 降低性能损耗的优化方案
在1Panel中可以通过几个简单配置,把目录列表的性能影响降到最低:
启用open_file_cache缓存文件元数据,大幅减少重复stat调用,推荐配置缓存10000个条目、30秒未访问自动清理。
对大目录开启autoindex_max_items限制最大展示条目数(Nginx 1.19+支持),避免单次请求扫描数万文件。
不要直接在根目录开启目录列表,按日期/业务维度拆分归档文件,把列表范围限制在子目录内,避免全量扫描。
高并发场景下,改用JSON格式输出目录列表,由前端分页渲染,比Nginx直接生成完整HTML轻量很多。