Laravel&CDN Integreation



我正在使用PHP框架laravel,刚刚购买了CDN服务器的计划。

我想知道有没有人曾经或会建议移动一些laravel的核心文件到CDN上,以减少加载时间?

将Laravel核心文件移动到CDN将增加,而不是减少,您的加载时间。考虑一下—您的服务器将需要获取网络上的所有PHP脚本,每个文件一个请求,这将产生大量的数据。PHP的fopen包装器也不支持缓存,因此这样做将失去cdn的主要好处。

如果你真的想减少磁盘I/O(听起来这是你想要实现的),考虑一个操作码缓存(memcache, eAccelerator)。这将以执行前编译的形式将PHP代码缓存在RAM中,这允许您在大多数请求中安全地将解释步骤抛出循环,从而加快页面加载速度。

或者切换到PHP5.5,虽然它还没有完全准备好,因为它有一个内置的操作码缓存

这是一个用于Laravel的CDN资产管理器包,默认支持Amazon S3。

https://github.com/Vinelab/cdn

通过Composer安装:

    {
    "require": {
        "vinelab/cdn": "*"
    }

添加CDN凭据:

        'credentials' => [
            'key'    => '',
            'secret'    => '',
        ],
        'buckets' => [
            'bucket-name-here' => '*',
        ]

指定要上传的目录、扩展名、文件和模式

'include'    => [
    'directories'   => ['public/dist'],
    'extensions'    => ['.js', '.css', '.yxz'],
    'patterns'      => ['**/*.coffee'],
],

还要指定要忽略的内容

'exclude'    => [
    'directories'   => ['public/uploads'],
    'files'         => [''],
    'extensions'    => ['.TODO', '.txt'],
    'patterns'      => ['src/*', '.idea/*'],
    'hidden'        => true, // ignore hidden files
],

用法:

  1. 运行这个artisan命令将你的资源推送到CDN。

    php artisan cdn:push

  2. 在您的视图或代码中的其他任何地方使用它:

    {{Cdn:资产("公共/资产/js/script.js")}}

    {{Cdn:资产("公共/资产/css/main.css")}}

相关内容

  • 没有找到相关文章

最新更新