前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx配置下载目录

nginx配置下载目录

作者头像
后端技术探索
发布2018-11-23 17:37:18
6.3K0
发布2018-11-23 17:37:18
举报
文章被收录于专栏:后端技术探索后端技术探索

很多场景下,我们需要对用户提供文件下载功能,比如不同版本的软件列表,或者对外提供的一些公开的报表下载。

例如linux提供的内核源码下载列表界面如下:

配置实战

需求描述

已有系统,服务端使用的是nginx服务器,域名为www.***.com,是一个php项目。现在要在该域名上实现一个文件下载的目录,所有要下载的文件都放到/home/havy/download/。

实现方案

在原有nginx配置中增加location模块,对www.***.com/attach访问路径设置为下载目录根目录/home/havy/download/,并且对该location块开启目录文件列表,详细配置如下:

代码语言:javascript
复制
server {
    listen              80;
    server_name         www.***.com;

    #此模块为新加配置    
    location ~ ^/attach { 
        root            /home/havy/webroot/;
        autoindex on;  # 开启目录文件列表
        autoindex_exact_size on;  # 显示出文件的确切大小,单位是bytes
        autoindex_localtime on;  # 显示的文件时间为文件的服务器时间
        charset utf-8,gbk;  # 避免中文乱码
    }

    location ~ ^/(favicon.ico|static) {
        root            /home/www/yuhaiwei/odp/webroot;
    }

    location ~ \.php$ {
        root            /home/havy/webroot;
        fastcgi_pass    $php_upstream;
        fastcgi_index   index.php;
        include         fastcgi.conf;
    }

    location / {
        root /home/havy/webroot;
        index index.php;
        fastcgi_pass    $php_upstream;
        include         fastcgi.conf;
        rewrite ^/([^/.]*)(/[^\?]*)?((\?.*)?)$ /$1/index.php$2$3 break;
    }
}

这样,当访问www.***.com/attach就展现出/home/havy/download/目录下文件列表了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 nginx 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置实战
    • 需求描述
      • 实现方案
      相关产品与服务
      腾讯云 BI
      腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档