WordPress发布文章失败问题与解决

昨天完成博客系统的升级之后,我顺便利用CloudFlare提供的免费服务为当前网站开通了通过https协议进行访问的功能。

但是后来发现WordPress出现了一些问题——在发布文章或者修改文章更新时,会提示:Updating failed. You are probably offline。经过尝试发现:只要使用https访问这个网站就会遇到问题,如果使用http进行访问,WordPress的后台功能一切正常。

搜索了一下,遇到这个问题的人还不少,总结来看就是网站支持ssl之后出现的问题。

因为起初使用CloudFlare我为了少做一些工作,只开通了他的边缘证书,而没有在自己的网站服务器上部署本地证书,从而导致WordPress后台功能出现问题。

这个问题不管它其实也可以,只要注意一些:撰写、更新文章等进行后台操作的时候使用http访问就可以避免。但是我想还是从根本上解决一下比较好,所以今天在CloudFlare中同时开通边缘证书、制作源服务器证书并在本地完成部署。

在部署本地CA证书的时候还遇到了额外的一些小问题,简单来说就是我对SSL和相关的证书制作、部署并不了解,网上看到的大多数文章写的也是乱七八糟,使得整个证书的部署过程废了一些周折。虽然最终部署妥当,但其中的细节我了解的还是一个稀里糊涂,如果以后有时间和精力,这块知识点还是应该再好好熟悉一下才是。

现在这个网站已经是真真正正的端到端加密的访问方式了。

Blog升级到了最新版本

这个Blog很久没有更新过了,使用的WordPress也一直停留在5.1.12未曾更新,今天下定决心将它升级一下。

升级的想法我已经动过很多次,但每每想起来,就觉得麻烦。原因是这台服务器上的PHP还是5.6版本,因为WordPress的新版已经需要至少PHP7.1才能安装,所以不得不从基础环境入手,我一直觉得那可能会是非常繁重的工作。

不升级吧心里总是惦记着,升级呢又担心麻烦。今天我终于鼓起勇气,决定大刀阔斧地进行一下升级工作。结果却发现整个过程远比想象的简单,很快就都搞定了。

首先服务器的系统,重新安装了一遍。没有使用自己常用的Ubuntu,而是改用AWS推荐的Amazon Linux。我想既然是跑在AWS上的服务,用他自家的系统应该更好一些吧?而且接下来公司的一些项目可能要用到AWS的服务,提前了解一下Amazon Linux也许是必要的。

其余的LAMP模块都还是中规中矩,直接用包管理器一键安装,很快就都搞定了。

最后将老Blog部署上去,并将WordPress的最新版下载、解压、覆盖、升级,便完成了所有的工作。

以上全部,连40分钟都没到就全都完成了。早知道这么容易,早就该升级才是。

上面的WordPress升级完成之后,我想不如趁热打铁,将另外一个拖欠了很久的工作一并做了吧:给当前的博客增加支持HTTPS访问。

以前要想个人拥有一套SSL证书,是比较难的,主要是因为这个证书资源太贵了,最便宜的一年恐怕也要几百元。如果脱离证书颁发机构自己直接发行一张证书、又完全没有意义——浏览器会提示这个证书并非公信机构发行,这个警告提示一旦显示出来,会让人觉得网站是不是被黑了、效果反而更差。

如今SSL证书的获取相对就比较容易了,有一些机构为了扶持个人网站的发展,提供了免费的证书。例如cloudflare,我就用这个公司对当前博客的域名进行了托管,并且使用他提供的免费证书完成了当前网站对https访问的支持。

不过因为WordPress似乎对https访问的支持存在着一些小的问题,所以这块的工作进展并不是十分顺利,虽然现在磕磕绊绊的算是可以正常访问,但感觉其中还是或多或少存在着一些问题,只待再有时间、再完善吧。

懒汉技巧:建站常识集锦

此文写于2001年以前,并在传统报刊上发表。大约是在2001年8月11日时重新整理归入此博客,并于2024年4月14日重新整理、并重新公开。今天看来,这份“古老的”文章似乎已经毫无意义了,但这是我的“旧作”,虽毫无价值但对个人而言十分珍贵,故而收录在自己的博客中,仅供自己“回忆”使用。

2024年4月14日

做网站是很多“网虫”津津乐道的一件事情,可很多刚刚接触这一行当的朋友总会或多或少碰到些问题,这些问题说起来挺简单,可要是不说,您可能还真解决不了,因此我将自己当初所遇到的若干问题做了一下整理,希望能够给各位身陷水深火热中的兄弟些许帮助。

1、Perl程序不能运行

如果您发现自己申请的个人主页空间支持Perl程序,而上传了代码又无法被执行,这可能有两个原因:

第一个原因是空间提供商对CGI程序的存放路径有特殊要求,比如您的代码必须上传到/home/cgi-bin目录中、才能被当成脚本程序被执行,具体目录要向空间提供商询问、或看他们的帮助说明中是否有专门的说明。

另外还有一个原因,就是您自己的cgi程序解释器路径没有设置正确。用文本编辑器打开程序代码,在程序的开始部分有一条类似#!/usr/bin/perl的代码,其中/usr/bin/perl根据不同空间提供商可能会有所不同,因此您仍然要仔细查阅空间提供商的操作指引或人工问询。

2、图片显示不正常

当您的网站制作完毕并上传到服务器上之后,您发现它的浏览效果与自己在本地的浏览效果不一样,主页上的一些图片无法正常显示,就好像是经过了马赛克处理——只在图片的左上角有个小小的图标而近乎空白。造成这一现象的原因是您的上传方式有问题。我们知道jpeg、gif等图片都是二进制的储存格式,而一旦我们用ascii方式上传这些图片,就会造成数据丢失,导致这一结果。

如果您用的是cuteftp等软件,在链接服务器的时候有一个选项,其内容是ascii、bin、auto detect,选择其中的auto detect连接,这样当遇到图片或者zip包的时候,软件就会自动改用二进制格式上传文件。如果您使用win9x自提供的ftp命令,则可以在上传二进制文件之前输入命令bin更改上传方式,待上传文本格式文件的时候在用ascii命令进行更改。

3、字体显示不正常

当您正在用浏览器在家欣赏自己做的主页的时候,会不会有朋友打来电话对您说:“啊呀,你的主页做的是‘神马’东西呀?”

您的朋友也许会奚落您,觉得您的审美有问题——网页上的字体都很呆滞,而您又会申辩字体都是“魏碑”,非常精美。

这个问题主要是因为您电脑中拥有的某些字体字库文件、在朋友电脑中并不存在。当浏览器识别到本地不存在的字体时,就会改用系统默认字体显示。因此您费心费力做出来的页面在其他人看来,也许是非常难看的。

这一问题的解决有两种方案:首先您可以看一下刚刚安装完系统的电脑中所拥有的字体,并在以后制作网页时尽量使用这些基本字体,如果需要特殊字体,可以制作成图形。或者您也可以将自己的字库文件放到网站服务器上,以供需要的朋友进行下载。

4、软件无法下载

当初,我经常遇到这样一个问题:看到下载站点有好的程序就下载,可其中或多或少有一些无法正常下载,寻找原因,原来是自己的系统中安装了网络防护软件,而不能下载的文件是exe可执行文件,遇到zip、rar等压缩包时可以正常下载、但如果想直接对exe文件进行下载,防护软件会直接阻止或中断下载过程。

因此建议各位准备做软件下载网站的朋友,将exe文件压缩成zip文件包,这样既可以方便我们这些系统中安装了防护软件的人,又可以减小软件体积、节省软件下载时间和带宽。当然这样做也会节省您的上传耗时和宝贵的带宽资源。

5、asp程序无法正常运行

看到这里,您也许会说:“哦,这和上面的Perl程序无法正常运行是一个原因”,呵呵,那您可就错啦。asp程序运行不需要声明什么解释器路径,可是因为其存在安全问题和占用资源问题,因此提供asp权限的空间提供商都会对其进行权限限制。

因此如果您的asp程序是牵扯到文件操作的,例如数据库,可能就会被提供商限制无法运行。另外现在国内很多主页空间提供商对聊天程序也进行了限制,这样就无法运行了。

解决也好办,直接到国外申请一个可以运行的就好啦。

6、无法进行ftp登陆

如果您无法进行ftp登陆,请先确认自己以前能不能进行此项操作:如果以前明明可以正常登陆而最近突然无法连接了,有可能是您的空间提供上设置了ftp登陆上限,而某些时候这个上限达到了饱和值,您就无法登陆了。

如果您从一开始就无法登陆,您需要重新阅读空间提供商给您的帮助说明,看看提供商到底提供ftp登陆了没有,而且要看提供给您的ftp登陆地址是什么。因为有的主页空间提供商并不会给您ftp权限,而是要直接用浏览器进行文件的上传和修改工作。

至此有关网站建设的问题我就说完了,最后还要说的就是:祝您一帆风顺、遨游网海了。