之前实现了 PSGI 方式运行 Movable Type,后台打开速度很爽,但在安装某些需要数据库的插件,自动调用 Upgrade 升级脚本时,总出现 502 错误。Google 搜索后,没找到太好的方法;这么久没写过代码,阅读和修改代码的时间明显太长,突然想到 Movable Type 自带了很多可以直接从命令行运行的工具,立马尝试之。

切换到 Movable Type 的所在目录,在命令行下输入:

perl ./tools/upgrade --name <你的 Movable Type 登录用户名>

升级完成,插件可以用了。记之,以后升级都可以在命令行下进行。

PSGI 方式运行 Movable Type

一直以来,在 Nginx 下都是用 FastCGI 模式运行 Movable Type,得知 PSGI 方式运行 Movable Type 在后台速度上会有很大提升,自然要尝试一番。

由于服务器用的 Debian 系统,Web Server 用的 Nginx,因此使用的方式很简单,基本按照 mt-starman-daemon 的方法照着做就行了,当然也会根据自己的实际情况做些适应性调整,记录如下:

配置完善支持 HTTPS 和 HTTP/2 的 Nginx

参考 Jerry Qu 的文章,重新对 Nginx 进行了配置,记录如下:

下载 Nginx-CT 模块,编译时让 Nginx 支持 Certificate Transparency 功能:

wget -O nginx-ct.zip -c https://github.com/grahamedgecombe/nginx-ct/archive/v1.3.2.zip
unzip nginx-ct.zip

准备 ngx_brotli 环境,下载 ngx_brotli 源码,编译时让 Nginx 支持 Google 开发的 Brotli 压缩格式:

#先安装 libbrotli
apt-get install autoconf libtool automake
git clone https://github.com/bagder/libbrotli cd libbrotli ./autogen.sh ./configure make make install cd ../ #再获取 ngx_brotli 源码 git clone https://github.com/google/ngx_brotli.git cd ngx_brotli git submodule update --init cd ../

浅浅可以下腰了

要强的小朋友,自从去小荧星上课,每天都要联系十几分钟,这周重点练习下腰,经过一周的努力,今天终于完全自主的做到下腰,不需要别人帮忙,好棒!!

浅浅下腰

Debian 下用 Fcgiwrap 运行 MovableType

VPS 搬至 Linode,Server 系统变更为 Debian 7.5 64bit,重新配置 LNMP 环境,但还是没法运行 Movable Type,这时候就可以请 Fcgiwrap 出场了。安装的方法很简单,shell 下输入:

apt-get install fcgiwrap

默认安装启动后 Fcgiwrap 使用的用户和用户组都是www-data,LNMP 默认则是 www,因此 Nginx 无法通过 socket 文件与 Fcgiwrap 通讯,所以需要修改 Fcgiwrap 的启动用户。方法是打开 "/etc/init.d/fcgiwrap",直接修改里面的 FCGI_USER FCGI_GROUP

Fcgiwrap 正常安装启动后,下一步是配置 Nginx 支持 cgi 程序,在虚拟主机配置文件的 server 小节中增加以下内容,重启 Nginx 即可。

location ~ [^/]\.cgi(/|$) {
	fastcgi_pass unix:/var/run/fcgiwrap.socket;
	include fastcgi_params;
	fastcgi_param PATH_INFO $fastcgi_path_info;
	fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
}