文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

laravel cdn 结合七牛云实现文件自动同步功能

admin

admin

2024-04-02 17:21

关注

在实际应用中我们为了节省服务器开支都会部署cdn,本文围绕七牛云cdn 来展开说明。
一. 安装 overtrue 的七牛cdn 扩展包  laravel-filesystem-qiniu :
安装:

$ composer require "overtrue/laravel-filesystem-qiniu" -vvv

配置cdn :
1.注册
config/app.php 中添加Overtrue\LaravelFilesystem\Qiniu\QiniuStorageServiceProvider

 'providers' => [
      // Other service providers...
      Overtrue\LaravelFilesystem\Qiniu\QiniuStorageServiceProvider::class,
  ],
  1. 添加七牛磁盘配置到 config/filesystems.php :

 <?php

 return [
    'disks' => [
         //...
         'qiniu' => [
            'driver'     => 'qiniu',
            'access_key' => env('QINIU_ACCESS_KEY', 'xxxxxxxxxxxxxxxx'),
            'secret_key' => env('QINIU_SECRET_KEY', 'xxxxxxxxxxxxxxxx'),
            'bucket'     => env('QINIU_BUCKET', 'test'),
            'domain'     => env('QINIU_DOMAIN', 'xxx.clouddn.com'), // or host: https://xxxx.clouddn.com
         ],
         //...
     ]
 ];

二.安装 asset-cdn :

$ composer require arubacao/asset-cdn

仅对于Laravel必需<=5.4,因为启用了Laravel >=5.5 自动发现

// config/app.php

'providers' => [

    // Other Service Providers

    \Arubacao\AssetCdn\AssetCdnServiceProvider::class,

],

配置:
asset-cdn 提供了asset-cdn:push, asset-cdn:sync, asset-cdn:empty 三个命令具体可以查看文档

如果要使用必须进行相应的配置

发布配置文件

$ php artisan vendor:publish --provider="Arubacao\AssetCdn\AssetCdnServiceProvider"

应为我们使用的是七牛云,所以这里有变动不能安装说明来配置

// config/asset-cdn.php

[
   'cdn_url' =>env('CDN_URL','xxxx'),//添加配置方便动态更改
    'filesystem' => [
        'disk' => 'qiniu',//注意这里要和config/filesystems.php 添加qiniu配置一样
   ],
]

.env.example中添加

#cdn
USE_CDN=
CDN_URL=

三.任务调度
使用调度器时,我们需要修改系统的 Cron 计划任务配置信息,运行以下命令:

export EDITOR=vi && crontab -e

复制下面这一行:

* * * * * php /home/vagrant/Code/larabbs/artisan schedule:run >> /dev/null 2>&1

此时进入 VI 编辑器界面 保存退出

注册调度任务
app/Console/Kernel.php中添加(可自行设置)

<?php
.
.
.
class Kernel extends ConsoleKernel
{
    .
    .
    .
    protected function schedule(Schedule $schedule)
    {
        // $schedule->command('inspire')
        //          ->hourly();
        // 每隔一个小时执行一遍
        $schedule->command('asset-cdn:sync')->hourly();

    }
    .
    .
    .
}

即可实现cdn 的同步

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     674人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     304人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     262人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     364人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     169人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯