
是一个 *** 服务器应用程序,使用您的域名 托管和交付 *** 应用程序。向 Apache *** 服务器发出的每个请求都会增加服务器负载,并影响 *** 应用程序的总体性能。通过集成 Vultr CDN URL,Web 服务器会使用你的 CDN 发送特定请求,从而加快你的 Web 应用程序内容交付过程。
本文将介绍如何在 Apache *** 服务器上使用 Vultr CDN。您将设置 Apache 虚拟主机配置,将特定请求模式转发到 Vultr CDN URL,同时在源服务器 URL 上保持较轻的请求。
开始之前:
$ apachectl configtest
$ cd /etc/apache2/
example.com。 $ grep -r "example.com" /etc/apache2/
Output:
/etc/apache2/sites-available/example.com.conf: ServerName www.example.com
上述输出返回 example.conf 作为与 example.com 域相关的活动虚拟主机配置文件。默认情况下,如果服务器上没有可用的虚拟主机配置,Apache 会使用 /etc/apache2/sites-available/000-default.conf 文件。
DocumentRoot 目录。 $ cat /etc/apache2/sites-available/example.com.conf | grep DocumentRoot
Output:
DocumentRoot /var/www/html
$ cd /var/www/html/
images 目录来测试 Apache 请求模式。 $ sudo mkdir images
$ cd images
将样本文件上传到该目录,以测试 Apache 的请求模式。
Apache 响应修改会匹配请求,并将原始请求 URL 修改为 Vultr CDN URL。响应修改过程使用 mod_substitute 和 mod_filter 模块来过滤和修改指向你的 Vultr CDN URL 的请求。请按照以下步骤设置响应修改,并将请求模式转发到你的 Vultr CDN。
mod_substitute 模块。 $ sudo a2enmod substitute
输出:
Enabling module substitute. To activate the new configuration, you need to run: systemctl restart apache2
mod_filter 模块,按 MIME 类型过滤请求。 $ sudo a2enmod filter
$ sudo systemctl restart apache2
$ sudo nano /etc/apache2/sites-available/example.com.conf
</VirtualHost> 指令之前添加以下配置。用实际值替换 example.com 和 cdn-example88.vultrcdn.com。 AddOutputFilterByType SUBSTITUTE text/html Substitute s|example.com/images/|cdn-example88.vultrcdn.com/images/|i Substitute s|example.com/css/|cdn-example88.vultrcdn.com/css/|i Substitute s|example.com/js/|cdn-example88.vultrcdn.com/js/|i
保存并关闭文件。
上述响应修改配置可匹配 images, css 或 js 目录模式下的所有请求。匹配请求模式下的所有文件都会被修改为 Vultr CDN URL。例如,请求 example.com/images/image.png 会被修改为 cdn-example88.vultrcdn.com/images/image.png 。在配置中:
AddOutputFilterByType:按 MIME 类型过滤请求模式。 /text/html 匹配 HTML 请求,包括图像、样式表和脚本等嵌入元素。其他 MIME 类型包括
text/css,application/javascript,application/custom,image/jpg,image/png, image/webp,可根据 *** 应用程序结构过滤请求。
Substitute s|.....|...|:转换源 s| URL 以匹配目标 | Vultr CDN URL。例如, Substitute s|example.com/images/|cdn-example88.vultrcdn.com/images/|i 将 example.com/images 请求模式修改为你的 Vultr CDN URL cdn-example88.vultrcdn.com/images。
$1:加载初始请求类型,以匹配正确的 Vultr CDN URL。
|i : 匹配请求模式中的所有大小写格式。例如, example.com/images/IMAGE.png 和 example.com/images/logo.png 都会被修改为相应的 Vultr CDN URL。
要在配置中匹配其他请求模式,可添加新的 Substitute 指令,将请求模式修改为 Vultr CDN URL。修改后的 Apache 虚拟主机配置应如下所示:
APACHECONFCopy
<VirtualHost *:80> <Directory /var/www/html/> Options -Indexes Require all granted </Directory> ServerName example.com DocumentRoot /var/www/html DirectoryIndex index.htm index.html AddOutputFilterByType SUBSTITUTE text/html Substitute s|example.com/images/|cdn-example88.vultrcdn.com/images/|i Substitute s|example.com/css/|cdn-example88.vultrcdn.com/css/|i Substitute s|example.com/js/|cdn-example88.vultrcdn.com/js/|i </VirtualHost>
$ apachectl configtest
$ sudo systemctl restart apache2
Apache 会使用 mod_rewite 模块将原始请求 URL 重写为 Vultr CDN URL,从而重定向特定请求类型。每个请求模式都会被重定向到相应的 Vultr CDN URL,该 URL 会根据请求提供缓存数据。例如,请求 example.com/image.png 会重定向到 CDN URL cdn-example88.vultrcdn.com/image.png。请按照以下步骤将特定请求模式重定向到你的 Vultr CDN URL。
mod_rewrite 模块。 $ sudo a2enmod rewrite
输出:
Enabling module rewrite. To activate the new configuration, you need to run: systemctl restart apache2
$ sudo systemctl restart apache2
$ sudo nano /etc/apache2/sites-available/example.com.conf
</VirtualHost> 指令之前添加以下配置。用实际值替换 example.com 和 cdn.example88.vultrcdn.com 。 RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule \.(jpg|jpeg|png|gif|webp|css|js|scss|svg|pdf|txt)$ https://cdn-example88.vultrcdn.com%{REQUEST_URI} [L,R=301]
保存并关闭文件。
上述配置会将所有符合 .jpeg, .jpg, .png,,.webp,.js,.css 文件类型的请求重定向到 Vultr CDN URL。在配置中
RewriteEngine On: 启用 Apache mod_rewrite 模块。
RewriteCond %{HTTP_HOST} : 设置请求重写条件,以匹配主机域名 URL 模式。
RewriteRule:以正则表达式格式定义重写匹配请求模式的重定向规则。
\.(jpg|jpeg|png|gif|webp|css|js|scss|svg|pdf|txt)值会将所有声明文件类型的请求匹配到你的 Vultr CDN URL。例如,请求 https://example.com/image.png 会重定向到 https://cdn-example88.vultrcdn.com/image.png。
[R=301,L]:所有匹配请求到你的 Vultr CDN URL,状态代码为 301 Moved Permanently。L 设置重定向条件 last 重定向,不需要额外的重写规则。
修改后的 Apache 虚拟主机配置应如下所示:
<VirtualHost *:80>
<Directory /var/www/html/>
Options -Indexes
Require all granted
</Directory>
ServerName example.com
DocumentRoot /var/www/html
DirectoryIndex index.htm index.html
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule \.(jpg|jpeg|png|gif|webp|css|js|scss|svg|pdf|txt)$ https://cdn-example88.vultrcdn.com%{REQUEST_URI} [L,R=301]
</VirtualHost>
$ apachectl configtest
$ sudo systemctl restart apache2
您已经设置了 Apache *** 服务器,将请求模式转发到 Vultr CDN URL。根据您的主机环境,您可以在 文件或虚拟主机配置文件中应用请求转发规则,以提高 *** 应用程序的性能和用户体验。对于每种配置 *** ,请查看浏览器开发工具并导航到 *** 或来源选项卡,以验证由 Vultr CDN URL 交付的所有文件。
经过几个小时的努力工作后,您是否感到眼睛疲劳或难以阅读代码?许多程序员在开始头疼之前从没想过要切换字体。 如果您经常发现在尝试扫描一千行代码时眼睛模糊不清,或者在停止编码数小时后头疼,那么可能是时候尝试一种新字体了。即使您没有遇到这些症状,设计良好的字体通常也比默认系统字体具有更好的可读性。...
Laravel多年来一直是PHP应用程序开发的摇滚明星,这是有充分理由的。庞大的生态系统、活跃的社区、强大的就业市场、成功的初创公司——它拥有一切让采用新技术变得值得的东西。 如果你想学习Laravel,你不需要更进一步。通过浏览本指南,您可以找到最适合您的Laravel教程,与您的知识水平和...
PHP开发:有些人认为它是,另一些人认为它是一种过时的技术,不值得花时间学习。但是这些数字说明了什么,尤其是当您查看PHP开发人员的薪水时? 虽然肯定有许多更新、更炫、更令人兴奋的语言,但PHP仍然是后端Web开发的可靠主食,也是许多雇主仍在寻找的技能。 有兴趣自己成为PHP开发人员吗?我们...
有时似乎有太多的商业首字母缩写词要记住。随着快速变化的技术进步和云计算的出现,新的类别将不断涌现。XaaS 就是这样一个最新的补充。 该领域的大多数读者都知道、和。但是你听说过XaaS吗? XaaS(一切皆服务)涵盖了一切:现在一切都可以成为服务。 这听起来好像很复杂的样子,但别担心——我...
DragonflyDB是一个内存数据存储应用程序,可以帮助提高网站性能。 DragonflyDB DragonflyDB是一个免费的内存数据存储应用程序,运行在Linus OS上。它使用每核线程架构来减少延迟。Dragonfly与Redis和Memcached兼容。它是KeyDB的合...
Cloudflare已宣布弃用HOST API集成,这将影响Cloudflare的传统主机和经销商合作伙伴。 Cloudflare弃用HOST API Cloudflare Legacy Host API将于2022年11月1日正式被弃用。Cloudflare表示,由于支持和维护程序...