2024-08
30

WP搬家策略

By xrspook @ 19:44:25 归类于: 烂日记

现在WordPress服务器供应商的服务期限大概到今年10月就满了,所以在那之前,团长是应该带着我搬家的,今年早些时候我们已经讨论过这个问题,因为他已经忘记了账号密码,所以常规的搬家步骤不没办法实现,因为根本进不了后台,导出不了数据库,同时也不能把我挂在上面的网站拷贝出来。今年4月的时候,我已经折腾了一番,用的是一个WP的插件(All-in-One WP Migration),那个东西可以在WP后台的界面把网站所有数据全部导出。导出的那些数据被压缩成一个文件。那个文件通过他们网站上面的某些工具,可以在线浏览里面的内容,也可以下载工具安装之后把它解压出来。但即便都解压了出来,那个东西的结构跟WP网站本身还是有一定区别,所以我猜他们没想过用户会把数据导出来以后,通过手工搬家的方式,把数据库挪到其他地方。比如在新的服务器那里,首先进行一个数据库的导入,然后把网站解压的内容复制到新的服务器。为什么这么说呢?因为上面说过,文件加压后的结构跟WP网站本身是有点区别的,但我并没有研究过差异在哪里。有区别就意味着直接搬过去肯定会遭殃。所有人都知道服务器上传文件的大小是有限制的,有可能服务商对你进行了限制,也有可能是软件进行了限制。所以这个插件还卖了一个功能,他们可以把超大的压缩文件上传到你的网站上。你完全不需要考虑文件超限,做不了任何事情。这么高端的操作是付费服务。如果人人都可以轻易地自己挪动,这个付费也就毫无意义,他们也就无法靠这个东西生存下去了。如果网站的数据超限了,但又不想给钱,他们还是给出了一些调整的方案,但这些步骤对小白来说有点复杂,但是对我这种不怕折腾,只要能免费的人来说,完全是可行的。主要步骤分为两个,第一个是在我WP的文件里插入某些语句,但即便这样插入了,也不能保证上传一定不超限。因为还有服务商那边的门槛,所以必要的时候还是要跟服务商沟通一下。在测试搬家这个问题上,我用过两个方式,一个是纯粹的导出导入,第二个是在导入形成网站之后,再导出那个网站的数据库文件,接着把那个网站的网页文件复制到一个新的地方,然后把数据库文件另存为一个新的数据库文件并修改网址,最后把新的网页文件指向新的数据库。之所以做这么无聊的测试,是因为万一服务器那边无论我怎么修改,就是不让我直接导入大文件,我还可以通过这种方式搬家。我20年数据的整个文件不到600MB,而数据库文件只有70多MB。不让600多MB的文件上传,我觉得这是有点可以理解的,但是70多MB的数据库文件,我感觉还是可以成功导入的。如果能实现,我很折腾的第二个方案就意味着我可以把网站从线上搬到线下,然后进行一个普通搬家的流程。之前说过,之所以得这么折腾,是我没办法直接访问现在那个网站的后台,折腾一番以后,实际上我就是把网站线上的后台搬到了线下。

这两年来写了很多的VBA+ADO+SQL,所以我在 phpmyadmin里看到数据库和SQL的时候,我感到了默默的亲切。当我在那里测试SQL语句的时候,发现那个速度实在太感人了。70多MB的SQL文件用Notepad++打开,大概13万行。我要更新里面的某些东西,那是眨眼就能完成的事,跟用Excel处理的速度相比,专业的数据库真的太伟大了。

星期三就已经找过团长,但到星期四下班的时候,他还没回复我。通常情况下不会这么长时间都没反应的,大概他出差了吧…

2024-08
29

14年的独立blog

By xrspook @ 8:45:33 归类于: 烂日记

blog在WordPress上,不知不觉已经14个年头。如果没记错的话,是在2010年开始的,因为那个时候BlogBus崩掉了。这14年,我都是跟着同一个团长。那个团长是在豆瓣上认识的,估计现在那个团里面就只剩下我和他了,其他人可能都已经渐渐退掉。实际上,对blog有需求的人,可能只剩下我一个,只有我一个积极用户。团长本身就只是做那个事而已,我不知道他有没有在服务器上折腾些什么。以前可能他是有折腾的,但折腾这种事,对普通人来说不可能一直都折腾。因为写blog本身不算太折腾,每天都耗费基本上相似的时间,习惯下来就好。

我有想过有一天团长不干了,我该怎么办。我自己独立一个门户吗?那个时候,如果遇到一些技术上的故障,我该怎么办呢?现在实际上,我们也的确遇到了技术上的故障。因为团长换电脑了,所以那个服务器的账号密码不见了。理论上联系服务商,只要你提供足够的资料,对方是可以帮你找回密码或者帮你重置密码的,但关键是邮件发过去,对方完全不理你,还真一点办法都没有。当然,如果服务商是大型的,估计不会发生这种事,但如果那只是一个小众的服务商,那么发生这种事,绝对是有可能的,中途跑路也是有可能的。这么多年下来一直都相安无事,我觉得都已经是个奇迹了。中途我们有没有搬过家呢?我没什么印象,因为不是我操作的,我顶多是一段时间开不了网页,但实际上,无论我开得了还是开不了网页,我的blog都会继续,都会在记事本上写下来。重新能开网页的时候,我就把之前囤下的那些东西发布上去,仅此而已。

如果有一天团长不干了,我还会继续每天写,但那个时候估计就不能称之为blog,要称之为日记了,blog和日记对我来说,最大的区别在于一个自己存着,另外一个放在网上,谁都可以看到。

服务商这种东西,即便是最大型的,也说不准靠谱不靠谱,因为大型的服务商也非常有可能有倒闭的那一天,某一天,他们不再开展这个业务了,转而开展别的,把这个业务关闭了,你一点办法都没有。一直以来我们的数据都是放在外国的服务器的。以现在的局势看来,继续放在外国好像有点风险。倒不是因为我的数据有什么问题,涉及了什么方面的东西,而是如果一旦某些事情发生,互联网中断,即便我的东西还存在着,但我再也接触不到了。

我从2004年开始写自己的blog,到昨天为止,我备份了一下全站的内容,媒体资料有400多MB,数据库有70多MB,其它的都是一些很小的脚本。文字内容的东西基本上都在数据库的SQL文件里,附件类图片音频之类的东西其实这么多年下来也不是很大,最主要的原因是可能一开始我会用得比较多,尤其是在我刻橡皮章的时候,后来越来越少了,尤其是近几年,我基本上没有了什么兴趣爱好之后。

还记得一开始在BlogBus上开我自己的blog的时候,我的誓言是一辈子都写,每天不间断,但现在看来,写不写下去靠的是我个人,但能不能让其成为blog,外部干扰因素很大。如果是短时间内,外部因素干扰可以忽略,但如果把时间延长到十年甚至几十年,外部干扰因素影响非常大。

2024-08
15

有天赋?

By xrspook @ 8:42:44 归类于: 烂日记

有时候我也搞不懂自己是不是真的有编程的天赋,还是说不知道为什么我对这方面会特别感兴趣。之所以这样,我觉得一定程度上跟我过往的经历有关。我不讨厌数学,但因为自己的计算能力有问题,经常会因为这样那样的原因出错,所以越往上学,我的成绩就越会出现提不上去。知道那个思路,但是却算不出那个答案。这种情况在某些只需要答案不需要过程的考试里面就很吃亏。即便需要计算过程,但如果我在第一个部分就算错了,后面也就没有什么意义了,因为根本算不下去。

编程好像一定程度上弥补了我的计算失误。因为计算结果是由机器完成的,而我只需要提供思路。在简单的问题上,那种百发百中的感觉真好。不过当问题遇到的越来越多,思路不是一下子就能畅通,我需要碰过很多壁以后才能出结果我会觉得刺激。在考虑很多因素的时候,总是有这样那样的不到位。有些步骤可以做在前面,也可以坐在后面,但是哪个会更优呢?最终都能得到同样的结果,那个时候我就得用机器的方式去考虑,怎么样才能最大程度节省资源,提高运算速度。

如果说写脚本的话,高中的时候我已经在干,那个时候是写网站,现在写CSS,然后是 HTML,再到后来当我接触WordPress以后是PHP。一开始用的CSS 那个时候就完全只是控制网站的部分格式而已。CSS可以控制很多东西,但是核心的部件是没办法修改的,有些控制封装在核心部件里,于是自定义CSS无法到达,那个时候我感觉到有一点点的无力。相对而言,WordPress控制方面可以说只有你想不到没有做不到。哪怕有些部分可能CSS真的无能,但实际上当你得知那个控制手段以后,你还可以配合其它的脚本实现某些格式的自定义。

最终让我觉得自己的编程技术总算是用到了点子上是近几年Python,Power Qurey和Power Pivot以及VBA的使用。这几个东西是从Excel的数据处理开始的。我基础的东西都齐全了,但是我怎么才能快捷获取某个成品的结果呢?我知道那个事情该怎么干。但是天天都干,又或者是在很短的时间内要我干那个事情,首先是觉得很烦,其次是非常容易出错,于是这让我想到为什么我不能用编程的手段把它们高度的结合起来。要用什么编程语言?其实一直我都在摸索。用过了一段时间,大家都尝试过了以后,我觉得大部分情况下,无论哪个语言,都能获得类似的结果,但复杂程度不一样,在不同设备上的运行速度不一样,需要的设备基础也不一样。我要用什么编程实现那个结果,我就得考虑这些东西。我是不是经常要用,是不是我一个人用,是不是我还得给别人用。最终我觉得稳定性首先必须保证,最终那个结果也是,必须得以某个我要求的方式输出的,第三点就是看看我的第一感觉是哪个编程软件。

可能某一天,某些软件用不了了,我只能用其它方法去替代,虽然这很麻烦,但是我也相信,我有能力可以做出替代,但我希望不需要有那么一天。

2024-04
23

测试用wordpress插件搬家

By xrspook @ 8:46:13 归类于: 烂日记

前段时间就被网友告知我们快要搬家了。搬家其实也没什么,但关键是网友已经忘记了账号密码。发邮件给服务器供应商,根本就没有回应。理论上找账密这种事情是很常见的,但为什么居然会没有回复呢?服务器外国,虽然我们的网站上也没有什么秘密,但如果突然有一天他们宕机了,我们又访问不到,丢失的就会是我们一直以来的心血,准确来说可能是我的心血,因为估计极少有人会像我这么痴迷于每天都写blog。虽然非常惋惜,但实际上我自己的内容倒还有纯文字的备份,只是不太容易查找我想要的内容,也会丢失掉所有的媒体文件以及网友的回复。

在我的印象之中,wordpress的经典搬家是需要在服务器那里把网站的内容拷贝出来,然后再去数据库那里把数据也打包出来,接下来就是到新的服务器那里,把网站内容复制上去,把数据库内容重新导到新的数据库里面。最后的步骤就是在域名那里重新做一个DNS的指向,但是这一个倒不是非常关键,因为用IP地址也能访问得到。对我这个基本上不会有什么浏览量的个人blog来说,外人一两天访问不到无所谓。

我想都没想过,我的合伙人居然把账密忘记了,这实在让人觉得非常的无语,所以如果按照wordpress常规的搬家程序,这个家是无论如何搬不动了,但现在有wordpress插件能实现全站搬家。1月的时候我就试验了一下,把网站的内容打包出来,大小是500多MB。他们的搬家方法你基本上不需要用什么大脑,把东西从原来的地方打包出来,然后新建一个wordpress,再把东西再导进去就可以了,但这个步骤到底行不行,会不会有什么幺蛾子?在没有测试过之前,我是不敢直接在网络上操作的,毕竟文件的大小摆在那里,没必要浪费时间。所以我需要做的就是用XAMPP在本地建立一个wordpress的运行环境,然后在本地建一个新的wordpress,然后尝试一下,把数据导进去。

在本地用XAMPP建wordpress对我来说已经不是第一次,但这一次,在win10之下,我发现了一个非常神奇的问题,理论上本地操作速度应该很快,但实际上打开一个页面居然要转上好几分钟,于是我不得不寻求帮助,结果发现首先第一个拦路虎是Windows Defender,那个东西是一个很大的罪魁祸首,所以首先我得在那里把XAMPP的文件夹设置为例外,第二个拦路虎是Apache的端口默认是80,但是80端口容易跟其他东西形成冲突,所以我把那个端口改成了8080。端口改掉了以后,在浏览器那里,打开本地的网站会出现警告,但是忽略了那些乱七八糟的东西以后就很顺利了,网站是秒开的。在我印象之中,以前我使用XAMPP的时候根本没有设置过MySQL的密码,但这一次我进行了设置,因为实际上在新建一个wordpress的时候需要我填入MySQL的密码,但XAMPP的MySQL默认没有密码。所以以前我之所以没有遇到这个问题,是不是以前的教程默认密码那一栏直接留空?

试验证明,那个搬家插件能非常快速顺利地把整个网站挪到其他地方。基本可以这么说,全部东西都挪过去了,起码我测试的部分都挪过去了。一开始的时候网页会出现404,我觉得可能是某些数据没有完全索引到位,当我在后台检查一番以后,再回到那些之前开不了的页面,发现又全部都可以了。可能在数据库方面,需要一定的时间去建立某些映射关系。除了出现404以外,还有一些warning的地方。搜索之后发现原来那是PHP的一些提示,当某个变量没有声明就开始使用的时候,就会出现那些warning,所以我看到的结果是我要的数据都生成出来了,但是那些数据前面会有一段warning,然后我就在自定义模板的functions.php那里把那些有warning提示的自定义变量全部都先做一个null初始化,这样非常傻瓜的操作以后,那些有warning的地方全部都警报解除了。

试验证明,用这种搬家方式是完全可行的。因为我是在本地测试,所以我把上传文件的大小改为了600MB,但如果我在新的服务器上做这种上传操作,服务器会不会允许我上传那么大的文件呢?万一真不允许我这么干,我还有第二个方案,就是先把导出的文件在本地转化为一个完整的wordpress,再把本地的网站和数据库分两片提取压缩,然后再上传到新的服务器。这是一种曲线救国的方法,应该没有问题。

自己的blog有救了,感觉终于可以松一口气。

2023-04
3

多余?

By xrspook @ 15:44:05 归类于: 烂日记

还记得使用了WordPress一段时间以后,我感觉即便我们已经挑了在国外国内访问响应速度最佳的服务器,但是网站打开还是有一点慢,所以我就拼了命去做各种优化.有些优化是在我的层面可以做到的,有些需要我的网友在服务器设置层面进行优化。其实我们已经把响应时间控制得很好了,我依然想做得更好,但是有些东西无论如何我们都无法做到,因为那已经不是用户层面的事了,那是服务器底层的某些设置。可以这么说,我们已经把我们能做到的东西尽力完成了,虽然好像还是有遗憾。那是我第一次承认有些事情我知道是可以做的,但是我却永远做不到,完全不是因为我能力的问题,而因为某些客观的原因就是这么个事实。这概这大概就是传说中的那种“接受生命中的某些不可能”。我不得不接受除非我们换一家服务器否则无法做到的事实。因为我们是合租的,不可能因为我一个网站不能优化到最佳直接换一家,而且我的只是一个个人的blog,为什么一定要把优化做到极致呢?即便我们能实现某个功能,但是那个功能真的会让用户的感受更好吗?或者即便我们实现的那个功能,实际上也没有提升多少,所以我们可能只是瞎忙乎了。现在我尽了我一切所能把可以做的东西全部都优化过了。在我能测试的环境下,效果还是挺明显的,至于在国内的其他地方,在用除了中国电信以外的东西去访问的时候是不是这样我就不知道了,我也没办法知道。

学生时代可能根本就不存在这种事,尤其是当你在解决一个理科问题的时候。老师提出的这个问题,默认有标准答案,无论你是用什么方式去实现,但在现实生活中,可能这个标准答案根本是不存在的,因为非常有可能这是一个伪命题。当你探寻结果的时候,最终发现可能根本没有结果,又或者说那个结果根本不是你想象中的那个样子。但是在学校的教育之中,老师却从来没有告诉过你,遇到这样的情况该怎么做。在学校的教育里,不通常不会留给你机会去否定老师,老师也默认你不应该否定他,无论在什么场合。当你否定他的时候,他会觉得很没面子,接下来出现什么报复事件就很正常了,哪怕恶果不是马上就出现,有可能那种报复是慢性的。为什么老师给出的答案就一定是对的呢?为什么老师用的那种方法就一定没有问题呢?为什么一直以来就没有一个学生出去否定老师说这种方法不是最好的,应该怎么做?如果有一个学生真这么干的话,无论是老师还是其他同学,都会马上蹦出这么一个念头——你谁呀?你怎么知道你做的那个是最好的?在学生年代,为什么我们就没有那种欲望、要想出一个比老师标准做法还要好的方法呢?绝大多数情况下,我们默认老师给出的答案就是终极做法、是最佳的做法。一直以来我们的教育都缺乏了那种对最好答案的质疑以及对更好答案的渴望。因为绝大多数情况之下,这种质疑和渴望都是多余的。

但就是因为有些人发现了普通人眼中的多余,这个世界才变得更好了。

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress