最近公司需要新部署几台服务器,主要就是lnmp平台,这几台服务器需要部署公司的系统,由于本屌刚入职时间不长,加上又是新手,所以对公司的架构一头雾水,前前后后折腾了一个月时间,终于磕磕绊绊的将系统服务器的环境部署出来了,过程中的各种坑各种心酸我就不提了(让我先去哭会儿……)。
在这次环境部署过程中我第一次真正感觉到了各个软件版本对系统的影响有多么大,在虚拟机上部署环境部署了好几十遍,其中很多部署完以后系统被搞得一团糟,然后砸掉重来,一点一点发现各种坑,找到各种填坑的方法。
刚开始的时候我一直使用完全源码编译的方式来搭建平台,结果发现后来把各种软件整合起来是一个非常麻烦且很容易出错的过程,无奈之下只好选择yum方式安装平台(别问我为什么一开始不用yum,我只是觉得源码编译会显得我技术比较高超)。其实选择源码安装还有一个原因,那就是安装目录比较清楚,后期找文件什么的会比较方便。
这篇文章就不多说公司环境的完整部署过程了,我就写写在安装过程中遇到的一个小问题吧。
当我费了九牛二虎之力好不容易把公司环境部好以后,我高高兴兴,屁颠屁颠的去上代码,兴冲冲的去打开浏览器,输入地址,敲回车,等待……然后系统爆掉了!我擦!居然爆掉了!!!页面没有显示公司系统那美美的画面,而是直接一堆报错信息,提示说系统不支持memcached。不支持memcached??!!怎么可能,我明明已经安装了memcached,后来使用php -m命令查了一下php加载的模块,发现php加载了memcache模块,询问了一下主管,他告我还要加载一个memcached模块,然后我就走上了又一个填坑的过程,过程之艰辛就不赘述了,总之,经历千辛万苦以后终于成功了。
网上查了很多方法,发现我下载的软件不对,php扩展需要到一个专门的网站查找扩展包,这个网站就是http://pecl.php.net/ 这是一个php扩展包的网站,可以在这个网站上找到php关于memcached的扩展包,搜索memcached以后,我下载了memcached-2.2.0.tgz,接下来我们正式进入安装memcached扩展的过程(好像已经说了很多废话了……不管了,反正也没人看我的博客)
先下载libmemcached:
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
解包:tar -zxf libmemcached-1.0.18.tar.gz
进入解压后的包,编译安装:
./configure --prefix=/usr/local/libmemcached --with-memcached //注意:--with-memcached这个选项一定要加上
make && make install
安装完成后,开始安装memcached模块:
wget http://pecl.php.net/get/memcached-2.2.0.tgz
解包:tar -zxf memcached-2.2.0.tgz
进入解包后的目录,先使用phpize命令生成一个configure文件
phpize //这里需要说明一下,这个命令在编译安装php时会在安装目录下的bin目录下,但是在yum安装的php中需要安装一个名叫php-devel的包才会有(我在这里被坑过……)
./configure --with-php-config=/usr/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached
//此处的php-config如果不知道在哪里的话可以用find / -name php-config命令找一下
make && make install
安装完成后需要在php.ini文件中添加一条extension=memcached.so的记录,然后使用php -m命令可以看到有memcached模块了。