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

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

作者: anyangdp | 来源:发表于2018-09-10 11:26 被阅读119次

    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方式部署命令,容器部署自行解决)

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/sexsgftx.html