我自己是没这个需求的,只是帮其他人安装网盘程序,因为选中了sharelist,顺便就记录下。
首先确保服务器的NodeJS环境正常,并且大于8.0版本,官方文档提到等于8也可以,不过我在实际过程中遇到的情况来说,最好用更高的版本,但是也不能用目前最新的14.17.3,因为会有个什么不兼容,具体没记下。(本教程写于2021.7.15,可能过段时间就兼容支持了)
1、首先像正常新建网站一样,去解析个域名到服务器来,并且先配置好nginx反代。
- 官方文档是先用服务器默认来安装,之后设置nginx反代域名访问,但是我习惯先用域名来操作了。
其中nginx里面的配置有一段是不能少的:
location / { proxy_pass http://127.0.0.1:33001; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; 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; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header Range $http_range; proxy_set_header If-Range $http_if_range; proxy_no_cache $http_range $http_if_range; #如果使用上传功能,请调整 nginx 上传文件大小限制 client_max_body_size 8000m; }
其他根据大概你之前其他网站的nginx配置来就行了。
这里面其中:
proxy_pass http://127.0.0.1:33001;
是必不可少的,如果这个不添加,你是不能用域名访问的。
然后就是:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
这个是直接在头部启用HSTS,也就是总是用https访问,如果你用了cdn,在cdn那边开启了这个功能,同时http强制跳转https,那么这段也是可以不用加的。
2、服务器开放33001端口
先到服务器运营商后台去设置防火墙(有的运营商不需要)。
腾讯云轻量服务器的,在防火墙去添加新规则。
然后在服务器里面也监听开放下,比如用iptables。
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 33001 -j ACCEPT #开放33001 service iptables save #保存下 systemctl restart iptables.service #重启
3、现在去下载sharelist手动安装。
cd /wwwroot #进网站目录,这个是随便打的,根据你自己目录就行 git clone https://github.com/reruin/sharelist.git #下载sharelist,国内的服务器网络不稳定,有时候可能下载不了。 chown -R www.www sharelist #最好给权限,用于nginx反代域名访问 cd sharelist #进sharelist npm install npm install pm2 -g pm2 start app.js --name sharelist --env prod pm2 save pm2 startup #依次执行上面的命令就行了。 pm2 restart all #重启
手动安装的时候,一步一步的执行,如果有什么错误出现,可以更方便的查看了解。
如果上面的都完成了,就重启nginx服务
/bin/systemctl restart nginx.service
没有错误提示,就直接访问域名安装,会自动跳到初始化页面的:
https://域名/install
到这里了,先设置个口令,然后用什么网盘,看官方文档就行了。
现在就可以去管理设置了。
对接网盘我就不写了,官方很详细了,重点是我们只对接了阿里云盘,其他的也没有试过,所以不清楚。
4、CDN配置说明
如果网站配置了cdn,记得不要缓存manage文件夹。
官方文档:https://reruin.github.io/sharelist/docs/#/zh-cn/plugins/README