分享
  • 收藏
  • 举报
    X
    ​制作云盘附件库详细图文教程,让图片、视频再不受服务器带宽影响。
    216
    0

    制作云盘附件库详细图文教程,让图片、视频再不受服务器带宽影响。

    应坛友要求,制作了一份非常详细的云盘分流教程,这样不管您进行多大数量的视频、音频、应用软件分享,都不用再担心服务器带宽不足了,让云盘分担走所有下载流量,服务器只需提供单次上传流量就行了。

    教程制作不易,特收10个积分做为辛苦费用,希望大家不要介意。毕竟在原来的贴子里已经讲解过总体制作方法,有动手能力的坛友,就不需要再浪费积分了。对动手能力弱的坛友,就只能辛苦您花费一点积分了。


    以下是隐藏的内容,因为你已支付,所以下面的内容可见。已购买的用户如下:yydtdb、西华、图腾-2420、aria、笛声悠扬、齐博神州、银杏114在线、海阔天空、万荀网、hxbsj88、

    隐藏内容区域



    1、首先保证X1系统正常运行。

    2、安装Alist网盘系统

    curl -fsSL "https://nn.ci/alist.sh"; | bash -s install /alist

    安装命令中最后一个/alist是安装目录,可以根据自己需求安装在任何一个指定目录。如/www/wwwroot/alist

    因为网盘系统更新频繁,所以可以定期输入更新命令来检查是否有更新,更新命令为:

    curl -fsSL "https://nn.ci/alist.sh"; | bash -s update /alist

    同样,最后的目录也是你原来的安装目录,需要和原来安装时保持一致。

    安装完毕,屏幕上会出现一行密码,记得复制下来,在登陆网盘管理系统时需要用到。

    进入网盘管理系统后,记得修改密码。


    3、在宝塔的安全中开放5244端口,如果需要自己指定商品,请修改JSON文件来自定义端口。

    JSON文件为/alist/data/config.json,当然,你的alist安装在哪个目录,自己知道就行

    4、在宝塔中新建一个网站,如pan.xmssjt.com.cn,这个域名是专门用来给网盘使用,记得在公众号和小程序里把这个域名添加入业务域名

    PHP版本选择纯静态

    记得给这个网站添加证书,没有证书,在小程序里无法访问。

    在配置文件里添加如下代码,具体添加位置可以参考图片

     location / {

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_set_header Host $http_host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header Range $http_range;

          proxy_set_header If-Range $http_if_range;

        proxy_redirect off;

        proxy_pass http://127.0.0.1:5244;

        # 上传的最大文件尺寸

        client_max_body_size 20000m;

    }

    这段添加的代码是起反向代理作用,这样就让网盘系统成为一个带证书的网站,这样方便小程序使用。

    5、对网盘系统进行全目录加密,防止用户查看到附件站内容。

    6、开始添加网盘


    各种网盘的添加方法可以查看官方教程。设置后端时,记得配置好WEBDAV帐号密码。

    https://alist-doc.nn.ci/docs/intro

    在官方教程中的添加帐号中可以查看到各种网盘的添加方法。

    推荐使用网盘:onedrive世纪互联(支持单文件100G)、阿里云盘(支持单文件100G)、123云盘(支持单文件100G)

    二级推荐网盘:天翼家庭云(不建议使用天翼云,要使用家庭云,比较稳定,非会员每日上传2G,单文件2G,黄金会员单日上传200G,单文件200G,铂金会员不限)

    三级推荐网盘:百度网盘(使用CRACK接口,下载速度基本跑满带宽,但是需要IDM和ARIA2来下载),总体稳定性不够强,毕竟是CRACK接口。

    7、配置X1附件盘功能

    在伪静态中配置访问附件盘功能

    NGINX

    在伪静态第1行前面添加如下代码

    if (!-d $request_filename){
    	set $rule_0 1$rule_0;
    }
    if (!-f $request_filename){
    	set $rule_0 2$rule_0;
    }
    if ($rule_0 = "21"){
    	rewrite ^/(.*)public\/uploads\/(.*)$ https://x1.f2.qibosoft.com/public/uploads/$2 redirect;
    }

    记得把其中目录替换成你自己需要的目录。

    APACHE

    把伪静态内容替换成以下内容,记得把目录改成你自己需要的目录

    <IfModule mod_rewrite.c>

      Options +FollowSymlinks -Multiviews

      RewriteEngine On


    RewriteCond %{REQUEST_FILENAME} !-d

      RewriteCond %{REQUEST_FILENAME} !-f

      RewriteRule ^(.*)public\/uploads\/(.*)$ https://pan.xmssjt.com.cn/d/uploads/$2 [R,L]


      RewriteCond %{REQUEST_FILENAME} !-d

      RewriteCond %{REQUEST_FILENAME} !-f

    # RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

      RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

    </IfModule>

    这里有一个重要说明:

    比如你的附件目录是

    https://pan.xmssjt.com.cn/uploads

    那么必须在域名后加上/d/这个目录,这是个直链下载目录,只有加上这个目录,才能显示文件,不然无法显示文件,切记!切记!切记!

    也就是目录就变成了https://pan.xmssjt.com.cn/d/uploads

    8、安装rclone


    curl https://rclone.org/install.sh ;;| sudo bash

    通过rclone config命令来添加网盘WEBDAV

    输入rclone config后,键入n新建挂载网盘的名称,名称可以自已随便定义



    输入网盘地址,这里不要输入反代后的地址,最好输入未反代前的带5244的地址,并且在后面加上/dav/

    http://nas1.xmssjt.com.cn:5244/dav/

    然后输入刚才在后端设置中设置好的WEBDAV帐号密码



    至此,网盘已经挂载成功。

    9、添加定时迁移附件库到网盘

    在宝塔计划任务中添加定时迁移任务

    如果附件不多,可以10分钟同步一次,如果附件比较多,可以30分钟同步一次,甚至60分钟同步一次,根据自己需求来选择间隔同步时间。因为每次同步时,会扫描一次附件目录,如果文件太多,会占用比较多时间,所以间隔时间可以适当拉长。

    迁移命令如下:

    rclone move /www/wwwroot/xmssjt.com.cn/public/uploads/ webdav:/123/uploads/ --delete-empty-src-dirs -P

    这里面,前面一段地址是网站附件所在目录,根据自己的网站域名和附件目录来修改

    后面一段地址是网盘附件地址,根据你自定义的不同虚拟目录及对应网盘中目录来自己修改。

    刚才示例中,用rclone挂载网盘时,挂载名称起的是webdav,所以这里就是webdav:

    /123是刚才在alist中添加的网盘虚拟目录

    /uploads是你的附件所在目录

    这些目录根据你的实际状况来修改

    命令中参数的大小写不能弄错,否则就无效了,路径也得注意区分大小写,LINUX对大小写是不同对待的。

    10、既然有了云盘做支撑,那就不担心用户上传大文件了,所以得把系统的上传限制打开,首先在PHP中把附件上传设置为20480M,基本足够用户上传了,本文所有代码中都是按照20G来做标准,把超时时间改为半个小时,这样基本不用担心不够上传,如果半个小时都上传不了的超大文件,相信用户也没耐心继续上传了。



    最重要的是修改编辑器中的文件大小限制,

    修改网站下/public/static/libs/ueditor/php/config.json

    这个文件中有多种文件容量大小限制,把它们全部改成2048000000


    到此,附件迁移网盘工作结束,可以尽情享受云盘为你带来的愉快带宽了,即使你的服务器只有1M带宽,也可以支撑庞大的视频分享了。当然,服务器带宽太小的话,附件迁移过程中会严重拖慢服务器网速,毕竟迁移用的是实实在在的服务器上传带宽。但是牺牲一次上传带宽,换来的是后期无限的下载带宽,还是值得的。



    2
    打赏
    收藏
    点击回复
        全部留言
    • 0
    更多回复
        你可能感兴趣的主题