赶鸭子上架的Front End Developer的半夜日常

昨天的事真是太杯具了,所以不得不记一下。

先说个前因。公司的官网用wordpress,加上Contact Form 7用来管理contact form。前一阵子,老板一直抱怨,为啥potential客户提交的表格,我们收不到啊?

我一看,不是收不到,而是直接进了spam。公司的email用的是google的服务,所以就是个挂着公司域名的gmail。这个事吧,我觉得多半跟我们没关系,是google自己的spam filter比较敏感。

所以这事我也没太管它。

结果最近,信不是进spam这么简单了,而是完全消失,不!见!了!

测试一下,用其它provider(比如hotmail)的信箱接收,还是可以的,虽然也还是有很大可能进spam。基本确定是google又出幺蛾子了。

但是老板已经发话了,这个问题要想办法解决。下面才是杯具的开始。我是一个front-end developer,不是server admin,linux我基本仅会列个文件列表,用text editor改改文本文件,其它我就两眼一抹黑了。公司这两年都靠我来维持这个server运转,已经是很走运了好吗。

于是只好找外援。外援帮忙上后台去看了log,果然,信发出以后,google那边说,service unavailable。un你个头啊!

查了一下错误代码,说是什么server不支持ipv6,再查查又说是什么没有Reverse DNS lookup record。我勒个去,这玩意不是每个server想要就可以有的好不好,怪不得网上从几年前,就有不少人吐槽这个问题了。

本来我以为这事花不了多少时间,所以10pm,熊孩子呼呼大睡了,我开始倒腾。

首先,既然phpmailer解决不了这个问题,有人建议可以用smtp来发送邮件。好吧,咱用的wordpress,这个事得用插件解决。装上插件,一看,不work,人家要求php版本5.4以上,咱们是5.3.6.

那就升级php先。在google和外援的帮助下,php说……我没有什么可升级的啊?

你瞧,这就是熊不能适应linux的任何版本的原因,每次你按照网上说的,打一个指令,必定跟预期结果不符,然后还不知道任何原因!

外援说,估计是你的ubuntu系统太老了,你看,现在都14了,你才10.几。好吧,那么就先升级unbuntu,这个时候我就有今晚要奋战一晚的不祥预感了。中间若干次跳出对话框,问是保留文件呢还是覆盖文件呢?我咋知道啊哈?

好不容易升级完,一试,得,服务器上host的所有网站都趴了,给出个502 bad gateway的错误代码。于是排查错误,好不容易研究出是前面覆盖掉的一个设置文件的问题。改。好,网站们又回来了。

可是php还是没更新啊,它还是说不能更新啊。继续升级ubuntu到12.10. 强制更新了php到5.6. 设置文件又不work了,继续改。

这下,大部分网站回来了。可是,还是有部分网站不work啊?排查了一下,不work的网站有两个,都是wordpress网站。首先怀疑是wordpress版本太老,跟新版php冲突。测试结果,不是,不work的网站一个是4.1一个是4.2,不算太老,人家4.0的都好好的。

再次测试,发现不work的网站其实都只有首页不work,其它页面和后台好好的(不然我怎么看到版本号的)。那应该跟wordpress版本无关,但是这个事告诉我们,我得赶紧把自动升级给修好——这又是另一个问题了,linux的目录权限太烦人了有木有。按你胃,既然是首页的问题,那么先怀疑是url forwarding的问题,无关。最后发现如果换用其它模板,就没有问题。

此时已经1点多了有木有,我这才是在做本职工作,抓虫。

所以是跟首页模板相关,那就一行行排查里面有啥bug,是旧版php不在乎,但新版不能容忍的。最后发现,你妹,就一个地方<?后面,忘记加php了。两个网站当时share了同一段代码,所以发生了同样的错误。

好吧,改好以后,再把host的所有网站都测试一遍。现在回到公司网站,别忘了我们最初要干嘛,要装一个smtp plugin啊对不?

结果,虽然php已经升级了,plugin还是不work啊有木有?Back to square one。

最后熊不得不把plugin停止,让网站先凑合着能用。然后早上起来,先烧一杯浓奶茶,准备今夜再战。

这就是一个杯具的Front end developer被赶鸭子上架不得不进行server维护的后果。那句话咋说的?不想当server admin的front end developer不是好back end developer?

<< 返回所有文章

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>