最近公司需要新部署幾臺伺服器,主要就是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模組了。