切换主题
网盘搭建
本篇教程将以自有服务器(如阿里云、腾讯云等云服务器厂商购买的服务器)为例来搭建。
null
没有服务器?
若你没有服务器也想搭建自己的网盘,最简单的方法就是使用Vercel
、Cloudflare
等提供的Serverless
或EdgeNetwork
服务搭建,具体的教程可以参考博客搭建!
安装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
,密码为启动时生成的随机密码,忘记了可以重置密码。
至于网盘挂载问题,这里就不赘述了,因为官方文档里已经是保姆级教程了。