Skip to content
本页目录

网盘搭建

本篇教程将以自有服务器(如阿里云、腾讯云等云服务器厂商购买的服务器)为例来搭建。

null

没有服务器?

若你没有服务器也想搭建自己的网盘,最简单的方法就是使用VercelCloudflare等提供的ServerlessEdgeNetwork服务搭建,具体的教程可以参考博客搭建

安装AList

以腾讯云的轻量级服务器(建议购买香港等非大陆地区的服务器,没有备案烦恼)为例:

  • 系统为ubuntu
  • 登录账户也为ubuntu

使用Git登录服务器后,在AList Releases页面选择自己需要的二进制文件,以alist-linux-amd64.tar.gz为例,在服务器根目录依次执行:

bash
# 下载二进制文件
sudo wget https://github.com/alist-org/alist/releases/latest/download/alist-linux-amd64.tar.gz

# 下载完成后,解压文件
tar -zxvf alist-linux-amd64.tar.gz

# 解压完成后,设置可执行权限
chmod +x alist

进程守护

权限设置完成后,可执行./alist server命令直接启动服务,启动后就可通过http://服务器ip:5244进行访问了,但是这种方式有个很大的问题,就是关闭Git后,服务就停止了,不能再访问。

为了解决上面的问题,使用自带的Screen服务来守护alist服务进程,这样即使是在Git退出后,依然不影响网盘的正常访问。

bash
# 开启进程守护
screen -S alist

# 启动服务
./alist server # 启动后会生成随机登录密码

# 退出按 Ctrl + A + D

# 查看已守护的进程
screen -ls

# 若忘记了,可重置密码
./alist admin reset

此时即便关闭了Git客户端,也可通过http://服务器ip:5244正常访问。

端口问题

哪种情况需要将端口5244添加进服务器的安全策略中?

当通过http://服务器ip:5244这种服务器ip + 端口号的形式访问时。

不开放5244端口呢?

当不开放5244端口时,无论使用域名与否,都必须配置Nginx代理。

域名解析

通过ip地址+端口号访问肯定是不行的,太反人类了,我们需要通过域名的形式访问,这样才是我们想要的。 这个没啥好讲的,就是在域名注册商的控制面板添加一条域名解析A记录即可。

配置Nginx

因为需要使用到Nginx的反向代理功能,所以:

bash
# 安装Nginx (若已安装,请忽略这一步)
sudo apt install nginx

# 进入配置文件
cd /etc/nginx/sites-enabled/

# 编辑默认配置文件
sudo vim default

进入后,若当前Nginx配置了其它的网站服务,则将你的域名加入server_name即可,然后配置HTTPS

nginx
server {
  listen 80;
  listen [::]:80;
  server_name alist.muri.life;  # 多个域名用空格分隔
  # 将所有 HTTP 请求重定向到 HTTPS
  return 301 https://$host$request_uri;
}

# 配置 HTTPS
server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name alist.muri.life;
  # 将请求代理到 Alist 后端
  location / {
    proxy_pass http://127.0.0.1:5244;  # 代理默认端口
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

修改完成后,按下Esc键,输入:wq后按下Enter键保存。

配置SSL

现在免费的SSL证书最长也就只能申请三个月,过期了又得手动申请和部署,非常麻烦,所以推荐使用CertBot(无情的全自动SSL证书部署和到期自动续期机器人 🤣)。

bash
# 安装Certbot
sudo apt install certbot python3-certbot-nginx

# 申请域名证书
sudo certbot --nginx -d alist.muri.life

# 申请完成后,检测配置是否正确
sudo nginx -t

# 若配置无误,则重启服务
sudo systemctl restart nginx

到此,你就可以通过你的域名访问搭建的网盘了,比如憧门网盘这样。

网盘挂载

默认登录账号为admin,密码为启动时生成的随机密码,忘记了可以重置密码

至于网盘挂载问题,这里就不赘述了,因为官方文档里已经是保姆级教程了。