V2Ray 一直用的好好的,这几天突然出现"io: read/write on closed pipe",还以为是刚刚过去的两会引起,但公司的电脑却一直正常,只是回到家无法连接并一直报错,经过查询,发现是服务器时间与当前系统时间不一致引起,也许公司的电脑也一直时间不正常。
找了个免费机场,登录服务器(在 Google Cloud,没有做本地登录),运行:
ntpdate pool.ntp.org
发现服务器慢了 137 秒,校准时间后,恢复正常
My think. My dream.
V2Ray 一直用的好好的,这几天突然出现"io: read/write on closed pipe",还以为是刚刚过去的两会引起,但公司的电脑却一直正常,只是回到家无法连接并一直报错,经过查询,发现是服务器时间与当前系统时间不一致引起,也许公司的电脑也一直时间不正常。
找了个免费机场,登录服务器(在 Google Cloud,没有做本地登录),运行:
ntpdate pool.ntp.org
发现服务器慢了 137 秒,校准时间后,恢复正常
Linode 的东京机房访问速度时好时坏,刚好 Google Cloud 送了 300 美元,开了一台香港的 VM,访问速度非常不错,所以就把好久不写的 Blog 也转移过来,免费用上一年再说。
转移时系统选择了 Debian 10,安装了 LNMP 做 Web 和数据库服务,这些都很顺利,最后安装好 mt-starman 用 PSGI 模式 跑 Movable Type 时,运行
/etc/init.d/mt-starman stop
/etc/init.d/mt-starman start
重启 mt-starman 时,系统报
matching only on non-root pidfile /home/wwwroot/run/mt.pid is insecure
从字面意思看,是运行命令的权限问题,打开 /etc/init.d/mt-starman 文件,找到
start-stop-daemon --stop --pidfile $PIDFILE
修改为
start-stop-daemon --stop --pidfile $PIDFILE --user $USER
原脚本作者用 start-stop-daemon 做 start 脚本时,用了 --user $USER 参数;stop 时,却忘记了这个参数,导致问题出现,修改后解决。
之前实现了 PSGI 方式运行 Movable Type,后台打开速度很爽,但在安装某些需要数据库的插件,自动调用 Upgrade 升级脚本时,总出现 502 错误。Google 搜索后,没找到太好的方法;这么久没写过代码,阅读和修改代码的时间明显太长,突然想到 Movable Type 自带了很多可以直接从命令行运行的工具,立马尝试之。
切换到 Movable Type 的所在目录,在命令行下输入:
perl ./tools/upgrade --name <你的 Movable Type 登录用户名>
升级完成,插件可以用了。记之,以后升级都可以在命令行下进行。
参考 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 ../