FileBrowser安装
FileBrowser 是一个基于 Web 的文件管理器,采用go语言编写,它可以通过浏览器对服务器上的文件进行管理,如:创建、删除、移动、复制等。它支持多个用户的管理,而且每个用户可以拥有自己可以访问的文件和权限。它还支持文件分享,就行网盘那样,你可以通过它来向你的朋友分享文件。使用非常简单方便,功能很强大。
安装FileBrowser
项目地址:
https://github.com/filebrowser/filebrowser
安装:
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash filebrowser -r /path/to/your/files
创建目录:
在 /data
目录下创建 filebrowser/
目录,并在 filebrowser/
目录下创建data/
、etc/
、log/
三个目录,分别用来存放数据文件、配置文件、日志文件。
配置filebrowser:
# filebrowser -d etc/filebrowser.db config init # 初始化配置
# filebrowser -d etc/filebrowser.db config cat # 查看配置
# filebrowser -d etc/filebrowser.db config set --port 8088 # 设置监听端口(默认8080)
# filebrowser -d etc/filebrowser.db config set --address 192.168.8.11 # 设置监听地址(默认127.0.0.1)
# filebrowser -d etc/filebrowser.db config set --root /data/filebrowser/data # 设置文件存放路径
# filebrowser -d etc/filebrowser.db config set --database /data/filebrowser/etc/filebrowser.db # 设置数据库文件
# filebrowser -d etc/filebrowser.db config set --log /data/filebrowser/log/log.log # 设置日志文件(默认stdout)
# filebrowser -d etc/filebrowser.db config set --locale zh-cn # 设置语言(默认英文)
# filebrowser -d etc/filebrowser.db users add username password # 添加用户
启动:
# filebrowser -d etc/filebrowser.db
配置systemctl启动
# vim /etc/systemd/system/filebrowser.service
[Unit]
Description=File Browser
After=syslog.target network.target
[Service]
ExecStart=/usr/local/bin/filebrowser -d /data/filebrowser/etc/filebrowser.db
[Install]
WantedBy=multi-user.target
设置域名访问
修改filebrowser的监听地址配置
filebrowser -d etc/filebrowser.db config set --address 127.0.0.1
添加nginx配置:
server {
listen 80;
server_name file.domain.com;
access_log /data/logs/nginx/access-servername.log main;
error_log /data/logs/nginx/error-servername.log;
location / {
proxy_pass http://127.0.0.1:8088/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 30;
proxy_read_timeout 60;
proxy_buffer_size 4k;
proxy_buffers 6 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_max_temp_file_size 0;
}
}