目前最新的LNMP是0.9-full版本,可能要照顾一些低配置的VPS,所以使用的PHP,Mysql,Nginx都不是最新的版本。如果你的VPS是比较高配置的,建议大家自己手动升级。目前建议升级到的版本:PHP – 5.3.20,Mysql – 5.5.29,Nginx – 1.2.6。(mysql5.5虽然有出众的性能,但是也很占用内存,所以建议内存小于512M的VPS不要升级)

LNMP集成环境已经提供了PHP和Nginx的升级脚本,即upgrade_php.sh和upgrade_nginx.sh。当我们需要升级PHP或Nginx的时候,只需要执行这两个脚本然后根据提示输入要升级到的相应的PHP或Nginx的版本好就可以自动升级了。但是,到目前为止LNMP最新版还没有提供Mysql的升级脚本。不过另有高人为LNMP提供了Mysql的升级脚本,目前该脚本源码放在google code上,项目地址:https://code.google.com/p/huiwei19

废话不多说,下面介绍详细的升级步骤:

1,下载mysql升级脚本

执行以下命令下载升级脚本:

  1. wget http://huiwei19.googlecode.com/files/upgrade_mysql.sh

下载完成后赋予该文件可执行权限:

  1. chmod 755 upgrade_mysql.sh
2,安装cmake

由于mysql源码需要使用cmake工具编译,所以首先要检测你的环境是否安装了cmake,如果没有则需要安装cmake。(该升级脚本虽然会自动检测安装cmake,但是有时候安装会出错,我升级了几台VPS自动安装cmake都出错了,所以建议大家手动安装cmake

首先,下载cmake。可以在其官方网站(http://www.cmake.org)下载。

  1. wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz

然后执行

  1. tar -zxvf cmake-2.8.10.2.tar.gz
  2. cd cmake-2.8.10.2
  3. ./configure
  4. gmake
  5. make install

当cmake安装成功就可以升级mysql了。

3,升级MYSQL

升级有风险,大家在升级前一定要备份好数据库。这个升级脚本会自动把旧的数据库重命名为mysql.old。

升级mysql和升级php以及nginx一样,直接执行以下mysql升级脚本就会自动进入升级了,根据提示输入想要升级到的版本号,按任意键系统就会自动下载源码包编译安装mysql了。

  1. ./upgrade_mysql.sh

当mysql安装完成后执行以下代码,避免data目录权限问题:

  1. chown -R mysql:mysql /usr/local/mysql/data

再执行下面的代码并输入Mysql密码,修复5.1.x升级到5.5.x的一系列错误:

  1. /usr/local/mysql/bin/mysql_upgrade -u root -p

成功执行到这里,说明你的mysql已经升级成功。但是如果要在php中正常使用mysql,还需要重新编译PHP,否则没有对应的libmysqlclient.so。这也是我把mysql升级放到第一的原因。接下来我们升级PHP。

4,升级PHP

升级PHP比较简单,LNMP已经提供了PHP升级脚本,所以直接执行下面的代码,根据提示输入要升级到的版本号系统就会自动下载PHP源码编译安装。

  1. ./upgrade_php.sh

重新编译PHP后,如果你使用了eAccelerator,那么你还需要重新编译安装eAccelerator,这个也是直接执行LNMP的eAccelerator安装脚本就可以了。

  1. ./eaccelerator.sh
5,升级Nginx

升级Nginx方法跟升级PHP一样,也很简单,只需要执行以下升级脚本,输入版本号就会自动升级了。

  1. ./upgrade_nginx.sh

到这里,你的Mysql,PHP,Nginx就全部升级完成。我目前升级比较顺利,除cmake不能自动安装外,没有出现其他任何问题,如果大家升级遇到问题,可以在这里评论大家共同解决。

原文地址:http://www.zjzit.cn/blog/4.html

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐