博客搬迁拾遗

PolyQY 2018年06月08日

最近把博客从RFCHost家的洛杉矶GIA CN2小鸡上搬到tsukaeru的日本IIJ线路的VPS上,价格相差无几,但tsukaeru家的适合建站,所以我就把博客搬过来了


GIA CN2虽然线路很好,但是配置实在有点低(估计主要跨Wa11上网用)。tsu家这台IO非常不错,接近bwg家的1Gbps
,还给免费50G备份空间,2H1G 50G SSD。原来那台是1H512M 10G SSD ,装完lnmp就60%占用了!最近tsu促销,果断搬迁博客。
以下是搬迁过程中遇到的问题和解决方案

Access denied & No input file found

这个是老问题了,网上也有很多地方有解释,官方安装教程也有。
就是那个cgi.fix_pathinfo
php.ini文件中的cgi.fix_pathinfo=0改成cgi.fix_pathinfo=1就行了
php.ini文件在哪里?
对于oneinstack安装的php,在/usr/local/php/etc/php.ihi
对于ubuntu系统自带的php在/etc/php/fpm/php.ini
实在找不到可以放大招:phpinfo();
在命令行使用交互模式(php -a)输入phpinfo();仔细找一找php.ini的位置
什么?输出太多不想找?
那只好系统帮我找一找了

echo 'phpinfo();' > 1.php
php 1.php | grep 'php.ini'

当然你也可以暴力一些

find php.ini /

首页正常二级页面全部404

这是typecho伪静态的问题,需要向nginx配置文件http->server的内部添加

if (!-e $request_filename) {
      rewrite ^(.*)$ /index.php$1 last;
}

fastcgi_params配置

nginx给出的默认配置文件在http->server->location块使用

fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
include        fastcgi_params;

但是Oneinstack的处理是将SCRIPT_FILENAME加入fastcgi_params中,我个人认为这种做法更清晰明了,推荐这样的做法。

目录权限

我每次安装typecho都是直接clone项目在复制的(反正最近的commit都是修bug),有时会有权限问题
根目录下

var
usr/themes
usr/uploads
usr/plugins

这些目录最好都
chown -R www:www

缓存插件TpCache

Github项目
这个插件应该是比较完善的,据作者readme,原生评论测试过可以更新缓存。第三方评论就更加没所谓啦。

启用之前要先在服务器安装好Memcached、memcache或Redis,据说Memcached在键值较大时性能较优,本博客就选择的是Memcached。
当然一键包啦,安装和php扩展一并搞定。
哦对了,推荐一键包Oneinstack
直接下载Oneinstack不含源码版
个人认为比军哥的lnmp.org的要好(而且开源)

Comment2Mail

这是常规啦
只是为什么总是发件人Root root@localhost
我明明配置的是Sendgrid的smtp发信啊
难道源码有问题?
有谁知道吗?

数据迁移

typecho自带的导出导入已经基本够用了
但是之前曾经用过iviews插件,修改过数据库结构(也不告诉我......)到了导入的时候出错了(typecho也真是奇怪,导出不检查数据库结构,导入检查)
不想改动数据库,干脆在原来那里删了那张views表

所以还是我的NewMaterial主题好,用自定义字段统计,不乱改数据库。

暂时想到的就这些吧
其他的服务器安全加固等等就不写在这里了

    dm2wq
    2018-07-12, 20:06

    有自动备份操作吗?给个教程?

    移动攻城狮鹏鹏
    2018-10-20, 13:00

    前来给大佬儿递茶

expand_less