搜索
首页后端开发php教程博客小站启用静态化

我本人对网站速度要求不高,通常页面打开耗时只要不超过10秒,我都不会介意。但自己博客最近出了几次事让我有点郁闷,一次是因为攻击导致资源消耗过高,博客被网管强制停机。另一次是因为谷歌字体的某些问题,导致所有页面打开之后迟迟无法加载完毕。虽然之后找了360网站卫士做庇护,但终归不是长久之计,将网站静态化的想法冒了上来。

我以为玩独立博客上了些年头的站长们都应该懂什么叫静态化的,见昨天方室网志的阿福对此还不明所然。我在此解释一下,类似Wordpress的网站(依赖数据库的网站)展现一个页面,需要后台的从收到请求开始——从数据库抽取文章、评论等数据——数据交给服务器的PHP模块合成标准格式网页文件——传网页文件送至客户端渲染。客户端渲染之后才是我们看到的网页。其中影响网站打开速度的环节主要:主机数据库性能、主机PHP模块合成网页文件的速度。带宽也有一定影响,但考虑到个人博客通常都是一些文字信息,文件不多,这点影响不大。

所谓网站静态化,就是提前将网页合成,存在临时仓库。访客有请求的时候直接从仓库拿出传送,不用再到后方数据库、PHP生产车间匆匆忙忙“制造”网页。这极大提高了博客响应速度,缺点是网页上有如文章阅读次数、最新评论留言等动态信息时,静态缓存需要额外的JS才能实现实时更新,好在最新的插件都能给出很好的解决方案。

WordPress静态化之后,与Jekyll等纯静态博客的区别。在我看来纯静态博客完全不需要数据库,是本地生成标准格式网页之后,上传空间就OK了。而Wordpress的静态化是由服务主机生成网页,静态后速度性能对比,Jekyll之类的纯静态网站快是毋庸置疑。而Wordpress则要看具体静态的方式。就我使用的WP Super Cache这个插件来说,如果使用了推荐的mod_rewrite 缓存模式,通过写入htaccess配置,调节好参数,缓存文件生成之后,性能对比来说相差不大。纯静态博客缺点是无法支持评论,要实现评论得依赖第三方服务(这意味着博主无法自由管理访客留言)。而Wordpress静态化之后,有评论提交会自动刷新缓存,两者对比各有千秋。

网上有很多关于Wordpress伪静态的文章,甚至有说WP Super Cache并非真静态,而后又介绍其他可以实现真正静态的插件。在我看来这些都是概念混淆,目的为了推广其他静态化插件罢了。伪静态只不过是修改了文章固定链接,现在主机一般都会支持,但固定链接格式对性能没啥影响,说白了还是等于没有静态。说什么真静态,Wordpress与纯静态博客本来就是两个不同的东西,无法相提并论。但WP Super Cache作为Wordpress官方团队出品的静态化插件,无论是性能、个性配置,支持力度上都毋庸置疑。说它并非真静态的,只能说是那个家伙非但自己不懂,还要混淆视听,对此我只能呵呵!

WP Super Cache也不是没有缺点,总的来说它门槛有点高,故网上很多建议小流量博客不推荐使用。因为配置不好,效果打折不说,卸载起来还会牵扯到htaccess以及wp-config.php。总的来说比较麻烦,说白就是技术不到家的话,用了吃力未必能讨好。倘若用对了,博客速度就能有质的提升,其中利害掂量得看各位自己了。

使用方法,网上教程很多,我只给出提醒要注意的地方。

一、保证wp-content目录有读写权限,同时,保证Wordpress根目录的wp-config.php和.htaccess文件也有写入权限,最好全站程序备份一次。

二、你安装激活之后可以首先启用插件的测试,如果提示:页面不相符!时间戳有差异或者不存在!说明缓存没有生效。这时候就需要检查插件或则主题是否有冲突。检查办法就是排除法。先将其他插件全部停掉再测试,或则换回官方主题再测试。缓存生效的页面源代码底部是有如“Cached page generated by WP-Super-Cache on 2016-05-02 09:42:42”字样标注该静态页面生成时间。

特别提醒:这里换官方主题,指的是未经修改过的默认主题。有些朋友会自己修改主题,但是增加的某些代码可能是导致这个问题的原因。已经确认了是自己之前使用的主题的问题,那需要切换回之前的主题,并仔细检查主题的所有文件。尤其需要注意的是functions.php,header.php等文件。查看文件之中是否包含有压缩功能的函数;或者不正确使用的PHP的ob_start函数。可以通过搜索zip或者ob_start等关键词进行搜索。搜索之后,可以先尝试屏蔽(或者删除,删除之前请做好备份)相应代码,然后重新进行测试缓存功能(记得先删除原来的缓存)。

三、插件能正常启用的话,就是开始下面的配置了。首先是启用推荐的mod_rewrite 缓存模式。如果主机不支持的话启用PHP 缓存模式也可,普通模式就不推荐了。启用之后,在高级选项卡里边,推荐配置是

1、当有新文章或页面的发布或更新时清除之前的缓存文件。(这个选项一定要取消勾选。否则一旦发布新文章,以前的所有的缓存文件都会消失不见,非常影响网站访问速度和SEO效果。)

2、移动设备支持。(使用自适应主题的这个可以取消勾选,否则缓存里会多出大量不必要的mobile.html之类的缓存文件。为手机页面单独设置了主题的就可以勾选。)

3、压缩页面以便让来访者更快浏览。(网站支持压缩的话,就勾选吧。谁不喜欢速度快的网站呢?但要注意,部分主机虽然也支持,但勾选之后,预缓存生成会连续失败,还出现网站首页第一次访问会空白等等,总之就是有点小问题。所以此项必须谨慎)

4、不要为已知用户缓存。(最好不要勾选。因为已知用户也需要生成和读取缓存,总之有缓存最好了!)

5、让已知用户匿名使他们浏览的内容是缓存文件。(勾选。原理同上,一切以缓存为中心。)

6、当某页面有新评论时,只刷新该页面的缓存。(勾选。否则的话,来一个评论就刷新所有页面的缓存,真的太费劲了。)

7、设置对“搜索”页面以及“feed”订阅页面设置排除在外。免得每次搜索都激活一个缓存页面,很浪费空间。

四、开启预缓存,勾选预缓存模式并立即加载预缓存。这样不管有无访问激活,都可以给所有公开网页生成静态页面备用。至于缓存过期时间,对个人博客而言我建议是设置为0,禁用缓存过期。

最后,插件本身也支持CDN,使用了七牛加速服务的可以考虑配置。如果不想让静态网页文件通过七牛的,也请留心排除html等对应的静态化网页文件。

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
在Laravel中使用Flash会话数据在Laravel中使用Flash会话数据Mar 12, 2025 pm 05:08 PM

Laravel使用其直观的闪存方法简化了处理临时会话数据。这非常适合在您的应用程序中显示简短的消息,警报或通知。 默认情况下,数据仅针对后续请求: $请求 -

PHP记录:PHP日志分析的最佳实践PHP记录:PHP日志分析的最佳实践Mar 10, 2025 pm 02:32 PM

PHP日志记录对于监视和调试Web应用程序以及捕获关键事件,错误和运行时行为至关重要。它为系统性能提供了宝贵的见解,有助于识别问题并支持更快的故障排除

php中的卷曲:如何在REST API中使用PHP卷曲扩展php中的卷曲:如何在REST API中使用PHP卷曲扩展Mar 14, 2025 am 11:42 AM

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

简化的HTTP响应在Laravel测试中模拟了简化的HTTP响应在Laravel测试中模拟了Mar 12, 2025 pm 05:09 PM

Laravel 提供简洁的 HTTP 响应模拟语法,简化了 HTTP 交互测试。这种方法显着减少了代码冗余,同时使您的测试模拟更直观。 基本实现提供了多种响应类型快捷方式: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

在Codecanyon上的12个最佳PHP聊天脚本在Codecanyon上的12个最佳PHP聊天脚本Mar 13, 2025 pm 12:08 PM

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

解释PHP中晚期静态结合的概念。解释PHP中晚期静态结合的概念。Mar 21, 2025 pm 01:33 PM

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸

自定义/扩展框架:如何添加自定义功能。自定义/扩展框架:如何添加自定义功能。Mar 28, 2025 pm 05:12 PM

本文讨论了将自定义功能添加到框架上,专注于理解体系结构,识别扩展点以及集成和调试的最佳实践。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),