Youda's blog

努力工作 认真生活......

0%

文件服务器搭建

背景

说到之前在用的各种免费图床总是存在各种不好用的问题, 考虑到自己的目的只是简单记录个人的技术成长,日常笔记,博客等简单场景。
不至于有多大流量,对于CDN加速等也无明显的诉求,遂考虑自建。
但是即使自建,也需要考虑以下两个核心问题:

  • 图片加载速度不能过慢,服务器带宽不能太低
  • 方便随时上传下载

方案

带宽问题

目前的机器的带宽仅2M, 折算下来仅256KB/s, 按照一张图片2MB,一篇文档嵌入3~5张图片,光页面加载完成就需要半分钟,属实不可接受。
综合考虑下来,目前最合算的方案是阿里云的 2核2GB内存200MB的轻量应用服务器,一年大概450左右的价格。

注:该资源的200MB带宽是共享的带宽,峰值速度200MB,个人场景使用性能也够用了,不至于有什么问题。

图片上传

基于FileBrowser搭建个人文件服务器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 下载
wget https://github.com/filebrowser/filebrowser/releases/download/v2.36.2/linux-amd64-filebrowser.tar.gz
# 解压
tar zxvf linux-amd64-filebrowser.tar.gz

# 创建数据目录
/home/youda/data

# 初始化
./filebrowser config init
# 修改配置
./filebrowser config set --root /home/data
./filebrowser config set --address 0.0.0.0
# 设置管理员账户密码
./filebrowser users add admin PASSWORD --perm.admin

配置开机自启动
sudo vim /etc/systemd/system/filebrowser.service

1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=File Browser
After=network.target

[Service]
User=youda
Group=youda
ExecStart=/home/youda/softwares/filebrowser/filebrowser
WorkingDirectory=/home/youda/softwares/filebrowser
Restart=on-failure

[Install]
WantedBy=multi-user.target

其他常用命令

  • sudo systemctl daemon-reload
  • sudo systemctl start filebrowser
  • sudo systemctl status filebrowser
  • sudo systemctl enable filebrowser

测试验证
访问:http://localhost:8080 可以看到如下首页,至此,本地直接访问,或者内网访问已经OK
FileBrowser登录页

FileBrowser首页

图片访问

为了方便直接根据链接访问图片,可以在机器配置上,将图片文件夹软链到nginx目录下,即可实现访问

1
ln -s /home/youda/data/blog-images public/blog-images