三年前的前的时候,心血来潮到阿里云买了一台服务器,搭建了一个站点,目的是为了挂一个自己的个人主页,当时仅有一点PHP基础知识的我,居然异想天开的想去打造一个属于自己的专属站点,想想当初的年少无知,现在还觉得有点后怕,不过思想就是这样,你的野心越大,你获取的就更多。
由于当时没有什么计算机知识储备,所以很傻瓜式的用了一个不知道叫什么名字的lnmp一键安装包,版本忘记了,不过PHP是5.5.12,mysql是5.1.73,nginx是1.4.4的版本,作为一个强迫症的患者,总是强迫性质的想要升到最高级,于是就决定给系统进行一次大改造。
升级准备:
一、备份数据库
在这个大数据的时代,数据是最重要的,所以在升级之前,一定要做好数据备份,不然升级就没什么意思了,
进入mysql,使用mysqldump -uroot -p --all-databases all.sql,导出所有的数据
二、准备工具包
准备安装包,可以下载需要安装的PHP7,MYSQL5.7,以及nginx1.11,不过分开非常繁琐,本着能省事则省事的原则,还是使用一款叫做oneinstack的一键安装工具吧,这个工具包我任何还是做的非常的不错的,包含三种服务器,内存管理工具jemalloc,redis和memcache,如果使用php的话,redis和memcache的最新扩展也是会自动为你编译好的,总之一句话,省事。
我是阿里云用户直接使用wget http://aliyun-oss.linuxeye.com/oneinstack-full.tar.gz下载,(更多使用方法可以到https://oneinstack.com的官网去查看手册),然后tar -xvf oneinstack-full.tar.gz解压到当前目录,按照文档给出的步骤,直接执行./install.sh脚本就可以开始安装了,安装过程很简单,不过也遇到了一些阻碍。
遇到的问题:
一、游戏系统的原因,安装php7需要有icu的支持,于是使用yum install icu,安装icu,结果由于很多年系统没有升级过,所以导致我的icu版本是3.6版本的,那就先更新yum吧,然后在再次安装icu解决问题
二、安装mysql5.7之后,使用mysql -v 测试mysql是否安装成功,结果显示没有utf8mb4字符集,经过分析之后,查看一下my.cnf文件,发现charset设置成了utf8mb4格式,于是将配置my.cnf文件中的utf8mb4直接改成utf8即可,然后使用/etc/init.d/mysqld reload重启mysql服务器,成功解决问题
尾语:
除了这两个问题之外,还有一些常识性的错误,比如网站迁移的时候,目录读取权限的问题等等,就不多出来丢人了,这一次升级历时一天,收获颇多,提升了自己对linux的熟练度,以及mysql,php,nginx等软件的认知,计算机世界的魅力无穷无尽,正等待着我不断的去探索。