前一阵子心血来潮的要升级https,但是博客很久没升级了,使用的 LNMP 0.9 版本,环境不支持https,我尝试过手动升级,可还是比较麻烦的,而且问题比较多,一不做二不休,直接升级到 LNMP 1.3。
升级就意味着要重做系统,重新安装 Nginx、MySql,最重要的是 WordPress 的数据备份和恢复。
下面介绍一下升级LNMP以及备份和还原 WordPress、数据库的过程。
系统环境:CentOS、LNMP 0.9
一、备份数据
- 先备份插件的配置,有的插件可以导出配置,或者截图
- 最好停用插件 否则可能由于某些依赖错误导致无法访问
- 备份 WordPress 网站目录下所有文件,我使用又拍云作为图床,所以备份文件很小
- 备份数据库,可以导出sql,建议是直接拷贝MySql数据库目录,位置:
/usr/local/mysql/var/xxx
(xxx为数据库名称) - 备份 nginx 配置文件,将有过修改的都备份,位置:
/usr/local/nginx/conf
备份时不要漏掉重要文件,理论上nginx+数据库+应用即可恢复访问了,最快的速度先让博客恢复是要紧事。
二、重做系统
由于我使用的是 Linode VPS,直接登录管理端重新选择系统版本即可,这次我直接升级到新版 CentOS 7。
安装系统后,需要使用 SSH 登录,使用原有SSH登录会提示: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
因为第一次SSH会生成密钥,如果重做系统了,需要清除客户端的当前用户目录内的 .ssh/known_hosts 文件,或者删除连接记录重新创建。
如果使用 Chrome 浏览器的插件:Secure Shell,重新安装后就可以正常登录了。
三、安装 LNMP 1.3
当前军哥的 LNMP 最新版是1.3,安装过程直接参照原文即可:http://lnmp.org/install.html
添加vhost,每个虚拟主机就是一个网站,使用lnmp命令即可,参照:http://lnmp.org/faq/lnmp-vhost-add-howto.html
四、扩展
LNMP 1.3 版本中支持PHP7,但是暂时还没有缓存加速类扩展支持,如果需要 eaccelerator、xcache 等扩展的话,请不要使用 PHP7。
我使用了PHP7,为了提高速度,使用了七牛的域名加速。
如果使用了 W3TC 插件,并且访问出错:
Fatal error: Uncaught Error: Class ‘Memcache’ not found in /home/root/izhangheng/plugins/w3-total-cache/lib/W3/Cache/Memcached.php:38 Stack trace:
需要安装 php-memcached,注意是 memcached 而非 memcache,安装方法可以查看:http://lnmp.org/faq/addons.html
关于memcached的详细介绍可以参照:http://yusi123.com/2831.html
五、恢复程序和数据库
将 nginx vhost 配置和 WordPress 程序还原,这个比较简单,直接拷贝到相应目录即可。
还原数据库,将备份好的数据库名称的目录(比如izhangheng),同样是拷贝到 /usr/local/mysql/var/
目录内,然后赋予权限即可正常访问,授权命令如下:
$chown -R mysql:mysql xxxx(数据库文件夹) $chmod 660 xxxx/*
六、手动禁用插件
如果无法正常访问,而且没有备份前禁用插件的话,也可以手动禁用插件,可以通过 phpMyAdmin 或者 MySql 命令修改数据,这个Google一下就行了。
七、WordPress 重写规则
以下两个重写规则,根据需要添加到 nginx vhost 中的域名配置文件中即可。
##支持无后缀名的重写规则 location / { try_files $uri $uri/ /index.php?q=$uri&$args; } ##支持伪静态(html)的重写规则 location / { try_files $uri $uri/ /index.php?$args; }
八、关闭 mysql 和 nginx 日志
- 关闭 mysql binlog 日志,参照:http://www.vpser.net/manage/delete-mysql-mysql-bin-0000-logs.html
- 关闭 nginx 访问日志,修改vhost中域名配置文件,将access_log配置改为:
access_log off;
- 重启 Nginx 和 MySql 即可
至此,就大功告成了!
我都不备份直接升级 会如何?
我是重做系统了,你要直接升级LNMP的话,会有不兼容的问题,我没试过,不建议直接升级
嗯,升级前最好备份一下,要不出问题就哭了