nginx搭建文件服务器(上传(支持断点续传),下载)

nginx-file-process(https://github.com/anyangdp/nginx-file-process

nginx文件处理demo(服务器系统cenos 7.4)

安装要求

1.nginx版本:1.14.0
2.nginx upload module安装 (nginx必须编译安装,不可以yum安装)
3.安装方法百度自行搜索,安装包可以在git仓库中下载(此包,我添加了上传模块,路径:nginx-1.14.0/home)

nginx文件上传设置(nginx.conf)

#

#文件下载
location /maifeng {
            alias /nas1/file/maifeng/;
            #关闭目录结构(视情况是否打开)
            autoindex off;
        }
#文件上传        
location /upload {
            client_max_body_size 50m;
            # 转到后台处理URL 
            upload_pass @maifeng;
            # 临时保存路径 (暂时保存此处,使用回调处理,将临时文件变成真实有效文件)
            #     # 可以使用散列
            upload_store /tmp/nginx-upload;
            upload_pass_args on;
            # 上传文件的权限,rw表示读写 r只读 
            upload_store_access user:rw;
            # 这里写入http报头,pass到后台页面后能获取这里set的报头字段
            upload_set_form_field "${upload_field_name}_name" $upload_file_name;
            upload_set_form_field "${upload_field_name}_content_type" $upload_content_type;
            upload_set_form_field "${upload_field_name}_path" $upload_tmp_path;
            # Upload模块自动生成的一些信息,如文件大小与文件md5值 
            upload_aggregate_form_field "${upload_field_name}_md5" $upload_file_md5;
            upload_aggregate_form_field "${upload_field_name}_size" $upload_file_size;
            # 允许的字段,允许全部可以 "^.*$"
            #upload_pass_form_field "^submit$|^description$";
            upload_pass_form_field "^.*$";
            # 每秒字节速度控制,0表示不受控制,默认0 
            upload_limit_rate 0;
            # 如果pass页面是以下状态码,就删除此次上传的临时文件 
            upload_cleanup 400 404 499 500-505;                                                                                
}
# proxy_pass 不支持uri添加/(可以使用alias),下面配置等同于访问:http://localhost:7992/maifeng        
location @maifeng {
            rewrite ^ /maifeng$1 break;
            proxy_pass  http://localhost:7992;
}

回调处理项目部署(这里使用了java,网上有使用lua等等,经过我的测试,并不是特别好用,环境配置很麻烦,因为我的服务器已有jre,所以我就直接jar方式部署)

1.maven 打包(会生成两个包,有boot的那个支持jar方式运行部署)
2.nohup java -jar demo.jar > demp.txt 2>&1 & (jar方式部署命令,容器部署自行解决)

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要在 Windows 中搭建一个支持上传下载文件文件服务器,可以使用 Nginx 和一些插件来实现。以下是步骤: 1. 下载 Nginx for Windows,可以从官网下载:http://nginx.org/en/download.html 2. 解压缩下载Nginx 文件到某个目录下,例如 C:\nginx。 3. 在 C:\nginx\conf 目录下创建一个名为 nginx.conf 的文件,并在其中添加以下配置: ``` worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root C:/nginx/html; index index.html index.htm; autoindex on; } location /upload { client_max_body_size 100m; alias C:/nginx/upload/; autoindex on; dav_methods PUT DELETE MKCOL COPY MOVE; dav_access user:rw group:rw all:r; } } } ``` 这个配置文件中定义了一个 http 服务,监听 80 端口,其中 /upload 路径是用来上传文件的,其它路径是用来下载文件的。注意修改 root 和 alias 的路径为你自己的路径。 4. 在 C:\nginx\html 目录下创建一个名为 index.html 的文件,用于测试下载文件是否成功。 5. 在 C:\nginx\upload 目录下创建一个名为 index.html 的文件,用于测试上传文件是否成功。 6. 启动 Nginx,打开命令行窗口,切换到 C:\nginx 目录下,执行命令:nginx.exe。 7. 打开浏览器,访问 http://localhost/,应该可以看到 index.html 页面,用于测试下载文件是否成功。 8. 打开浏览器,访问 http://localhost/upload/,应该可以看到 index.html 页面,用于测试上传文件是否成功。 现在你的文件服务器已经搭建好了,可以用来上传下载文件了。上传文件时,可以使用 PUT 方法,例如使用 curl 命令上传文件: ``` curl -T file.txt http://localhost/upload/ ``` 下载文件时,可以使用 GET 方法,例如使用浏览器访问 http://localhost/file.txt。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值