预计阅读时间: 4 分钟
最近把博客从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主题好,用自定义字段统计,不乱改数据库。
暂时想到的就这些吧
其他的服务器安全加固等等就不写在这里了