File Browser是一个基于GO的轻量级文件管理系统支持登录系统 ,不需要再安装任何网站环境即可运行。
项目地址
安装命令:

curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash

运行命令:

filebrowser -a 0.0.0.0 -p 8888 -r /data -d /opt/filebrowser.db

-p对应的8888是访问端口-r 对应的是data文件存放的目录 -d数据库文件

如果文件根目录不存在的话,就需要新建一下再启动,然后就可以访问ip:8888了,管理员用户名和密码均为admin
对于CentOS系统,还需要开启8888端口 使用命令:

#CentOS 6
iptables -I INPUT -p tcp --dport 8888 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7
firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload

开机自启
接下来这里可以建一个简单的systemd配置文件,适用于CentOS 7、Debian 8+、Ubuntu 16+,使用命令:

#先输入命令参数,只要上面filebrowser后面的即可
command="-a 0.0.0.0 -p 8888 -r /data/ddd -d /opt/filebrowser.db"
#然后将以下代码一起复制到SSH运行
cat > /etc/systemd/system/filebrowser.service <<EOF
[Unit]
Description=filebrowser
After=network.target
[Service]
Type=simple
ExecStart=$(command -v filebrowser) $command
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF

启动并设置开机自启:

systemctl start filebrowser
systemctl enable filebrowser

以查看运行状态

systemctl status filebrowser

显示Active: active(running)则为运行成功,如果不是,可能还需要重启下服务器?reboot

停止运行命令

systemctl stop filebrowser

如果需要域名访问可以配合nginx反向代理使用

#关闭ip访问设定本地ip
command="-a 127.0.0.1 -p 8888 -r /data/ddd -d /opt/filebrowser.db"
#重新运行一次?
cat > /etc/systemd/system/filebrowser.service <<EOF
[Unit]
Description=filebrowser
After=network.target
[Service]
Type=simple
ExecStart=$(command -v filebrowser) $command
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF

接着停止systemctl stop filebrowser再启动systemctl start filebrowser即可
有很多nginx一键安装包根据一键包添加一个域名可以选择开启ssl在server下添加如下

        # 允许大型附件                   
        client_max_body_size 5120M;

        location / {
          # 代理到指定域名
          proxy_pass http://127.0.0.1:8888;
          proxy_set_header Host $proxy_host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

完整的配置大概是这个样子

server
    {
        listen 80;
        #listen [::]:80;
        server_name name.com ;
    }

server
    {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;
        server_name name.com ;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/name.com;

        ssl_certificate /usr/local/nginx/conf/ssl/name.com.cer;
        ssl_certificate_key /usr/local/nginx/conf/ssl/name.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_session_cache builtin:1000 shared:SSL:10m;
        # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
        ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;

        # 允许大型附件                   
        client_max_body_size 5120M;

        location / {
          # 代理到指定域名
          proxy_pass http://127.0.0.1:8888;
          proxy_set_header Host $proxy_host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }