文件服务器搭建,总结一下四种方法:

1、第一种:nginx自带的,autoIndex

优点:配置快,开发速度最快,用起来不方便。
缺点:没有密码验证,信息泄露,每个人都可以访问。

 
    location /way1 {
        charset utf-8,gbk;
        alias /usr/local/custom; #文件地址,自己设置文件的地址
        autoindex on;
        autoindex_exact_size on;
        autoindex_localtime on;
    }

注意 alias 和 root 的区别。

可以进行稍微的修改,获取参数的验证,比如 127.0.0.1/way1?name=youname

 content_by_lua_block {
    local param= ngx.req.get_uri_args()["name"];
     if(param == "love") then
       ngx.exec('/concreteFilePath')
      end
}

使用ngx_lua,或者直接 args 判断都可以。
————————————————————————————————————————————
2、第二种:使用 Basic_Auth 认证

优点:安全性高
缺点:自己用,添加用户的方式太麻烦了。

步骤1:安装 httpd-tools:

yum install httpd-tools -y

步骤2:创建用户和密码:

htpasswd -c -d /usr/local/openresty/nginx/conf/pass_file youname

账号密码文件存放的路径 你的用户名。路径不要放在 root 下面,不然你的Nginx的 nginx.conf中的#user nobody;需要修改,不安全,建议放在正常得目录下面。
回车之后,会让你输入密码。

步骤3:Nginx中配置:

location /dcfiles {
  charset utf-8,gbk;
  auth_basic "登录验证";   #虚拟主机认证命名
  auth_basic_user_file /usr/local/----------------; #验证参数保存地址
  alias /usr/local/dcWorkspace/dcDocument/; #文件地址
  autoindex on;
  autoindex_exact_size on;
  autoindex_localtime on;
}

步骤4:
重启你的Nginx服务器,输入地址,弹出登录页面,输入 自己设置的密码。
ngin文件服务器登录页面

注意:严格来说,第一种、第二种不能叫做文件服务器,只能下载,不能实现文件的上传。
————————————————————————————————————————————
3、第三种:Nginx+Lua 搭建文件服务器,可以上传下载

优点:多用户,文件上传,下载。
缺点:配置复杂。(设计lua元表,闭包,数据链接)

4、第四种:分布式文件系统

优点:基本上公司都是这么干的
缺点:配置更加的复杂(FastDFS,SpringBoot,MySQL,Vue(thymeleaf))
————————————————————————————————————————————
搭建条件:Nginx,Lua,SpringBoot,前端或JSP,数据库,FastDFS。

Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐