文章

[本站大事件] 又更换服务器了

终于,不间断运行了972天的服务器不堪重负,要被我无情抛弃了。 双十一优惠太大,让博主很是心动,于是买了一台2核4G3Mbps的服务器取代当前服务器。本文粗略介绍本站所使用的服务器、数据库等配置信息,也是记录博主维护了1478 天的博客的一个短小的服务器配置总结吧。 主机配置:1核 2G 1Mpbs 得益于博主之前提到的动态服务与静态资源分离动静分离,以及采用独立数据库服务器等方案,即使在在本站日pv 5000+的时候,它也挺过来了。 Redis缓存 redis缓存运行在主机上,内存占用稳定在100M以内。也是保证了网站访问速度以及可用性的一大功臣。 WordPress在文章数量以及访问数量起来之后,对数据库的需求是极高的,表现为多人同时访问时网站响应慢,很影响用户体验。 redis利用缓存数据减少了WordPress程序查询数据库的次数,利用缓存高速读写的优势,在多人访问时能迅速作出响应。 可即便如此,我的数据库服务器CPU占用以及内存占用都超出了默认配置的几倍(下文)。 不得不说,我这些丐版配置能支撑起日PV5000+的中等流量站,也算是个奇迹了。其间,也有使用静态缓存了减轻后端压力,这点也是本站能稳定运行必不可少的因素。 MySql数据库配置:1核256MB内存 以及日常满载的超低配MySQL服务器。有一说一,WordPress吃数据库性能已经可以说是人尽皆知了,让我没想到的是腾讯云数据库实例能跑出近300%CPU利用率,以及超60%内存,什么原理咱也不知道,哈哈。 博主购买4G内存服务器的初衷是准备将数据库和后端环境同时部署在此台服务器上,所以内存一定要够。 腾讯云CDN+COS静态资源存储 正如上文提到,为了在图片防盗版,减轻后端服务器压力的,本站采用动静分离,图片等静态资源存储在COS,并通过CDN分发给全国各地的用户,基本能做到5M以内图片秒开。 同时也是博主用钱在烧,除了正常访问外,还有爬虫以及被恶意攻击,按照1TB流量近两百的价格来算,博主单单流量费就花了近万元。 所以在网站防CC防爬这方面也是令人头疼,单独采用一个nginx服务器来统计和限制高频IP访问达到防CC防爬虫的目的。可这样一来又减慢了用户访问速度,哎!   新服务器:2核4G3M 在不间断运行了972天之后,博主被腾讯云双十一的优惠冲红了眼,于是在离它过期还剩半年时间的节点又购入了一台2核4G3Mbps的服务器。同时想到MySql服务器也快过期,这才下定决心买一个高内存版本服务器将数据库和后端环境部署在在服务器上来降低成本。 简单的迁移 暂时通过镜像还原的方式,基本就是完全复制了旧服务器到新服务器,这样一来我就省了很多步骤(好吧我承认我懒...)。 腾讯云无缝切换服务器 由于之前服务器与数据库是在同一机房,所以采用内网连接,延迟基本忽略不计。临时直接将新服务器的数据连接方式改成了内网连接,后期会将数据库迁移到新服务器上。 后续操作 数据库迁移 blog.qcgzxw.cn整站迁移 ocr.qcgzxw.cn整站迁移

教程

抓取全站图片的几个思路

前言 好久没更新文章,最近确实忙,今天抽点时间写写我最近忙着优化网站图片的事。由于本站使用的图床SM.MS,近期不少使用电信和联通运营商的朋友说图片加载慢,网站加载完要几十秒。因为我是移动,也有可能是我本地有缓存的原因,一直没觉得网站图片有问题。不过在最初开始使用SM图床的时候就已经知道不是长久之计,博主就花了2天时间来完成全站图片的转移。 图片抓取 这是今天的重点,我也前前后后考虑了多种方案。例如:利用插件自动保存至本地服务器等等···。以下的方案只是我个人在思考这个解决问题时想到的方法,并不是最佳方案。 方案1:python爬虫 获取全站文章链接(这个以前写过相关文章WordPress获取所有文章链接) python写爬虫一篇篇爬数据后,用re模块正则表达式findall()方法筛选出所有图片链接。 github地址: https://github.com/qcgzxw/pachong/blob/master/%E5%85%A8%E7%AB%99%E5%9B%BE%E7%89%87%E9%93%BE%E6%8E%A5%E6%8A%93%E5%8F%96.py 单线程在跑,网站都吃不消,花了2分钟,把全站数据跑完,基本上只要正则表达式没问题就能取得所有图片链接。 方案2:数据库命令 进入到数据库,将wp_posts表导出为SQL格式(最好不要用其他格式,编码问题) 将下载的SQL文件用NotePad++等文本编辑器工具打开,复制其中所有内容。 打开任一在线正则表达式测试工具,将复制的内容和对应的正则表达式填入网页,即可提取所有图片链接。 用文本去重工具,去除一下重复行。 复制结果后,用notepad++稍做处理即可达到所有链接。 博主的话 以上是博主在思考“抓取全站图片”时的几个思路,个人觉得第二种方式最优。若有更好方案,还请留言评论,大家一起交流。 个人觉得在遇到问题时,自己多思考,想到办法后再想想自己的解决方案是不是最优方案,不要怕耽误工夫,因为你想出了一个最有解决方案后,以后碰到同样的问题,你可能只需要几分钟就能解决。 博客本就是分享和讨论个人经验的地方,如果大家有更好的办法,还请不吝赐教!

教程

腾讯云关系型数据库,3年只需86(新用户26)

入门机型介绍 数据库MySQL入门机型是腾讯云数据库团队打造的一款适用于广大用户入门、学习、培训,生产前测试、小规模业务系统的产品。同时也具备管理和扩展,主从实时热备,自动容灾、备份、恢复、监控、迁移等数据库全套功能。用来做网站真是再好不过了,库站分离对网站访问速度还是有很大提升的。 官方配置 内存:256MB 硬盘:50GB 费用:12/月 机房:广州2区  上海1区 吞吐量:120QPS(每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。) 3年86买法 进入活动地址:https://cloud.tencent.com/act/event/cdbbasic.html,由于官方最多只给买6个月,我们可以用特殊手段买3年。 点击立即购买,在弹出的小窗中选中购买时长点击右键,选择审查元素(请选择谷歌浏览器,搜狗浏览器,360浏览器等支持审查元素的浏览器), 将data-cdbtimespan="6"改为data-cdbtimespan="36"再选择时长为6时,此时的费用就是86.40元,然后就点击立即购买 在订单中确认时长是否为3年,如果是,付款即可。(从没买过数据库可以往下看,领取60代金券,26.4买3年数据库) 附上一张成功图   新用户领60无门槛代金券 进入腾讯云数据库购买界面:https://buy.cloud.tencent.com/cdb?regionId=1 如果你从没买过数据库,此时会弹出是否领取代金券,领取即可 3年续费只需86 数据库买了之后想续费的话正常操作即可。 由于续费入口不好找,我贴出方法 首先进入数据库管理页面,https://console.qcloud.com/cdb 找到你的数据库,点击,就会进入,在下面的到期日期后面就有蓝色的续费链接。 连串操作视频 数据库延迟测试 数据库部分注意事项 只有同账号、同区域(比如都是广州二区)的服务器才能通过内网访问到数据库3 待补充······

资源分享

phpmyadmin数据库爆破

这款工具来源于test404大神制作。。。 咳咳。。。现在卖云免越来越多。。嘿嘿。。。 你懂的咯。。。。。。 下载地址进文章底部 自行体会