准備階段
1、操作系統
Red Hat Enterprise Linux Server 6.3
2、配置 IP 為 192.168.10.250
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
#service network restart
3、配置防火牆,開啟22端口、80端口、3306端口
#vi /etc/sysconfig/iptables #編輯防火牆配置文件
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允許80端口通過防火牆)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允許3306端口通過防火牆)
4、關閉SELinux
#vim /etc/selinux/config
修改SELINUX=disabled 並重啟系統。
或者用命令:
[root@test ~]# setenforce 0 #用命令不用重啟系統,但這只是暫的關閉 SELinux,系統重啟後即失效 。
5、下載軟件包
nginx-1.2.2.tar.gz
mysql-5.5.25a.tar.gz
php-5.4.4.tar.gz
其它相關軟件包和依賴包:
cmake-2.8.8.tar.gz #MySQL編譯工具
eaccelerator-0.9.6.1.zip #php加速器,使PHP程序代碼執效率能提高1-10倍;
xcache-2.0.1.tar.gz #php加速器,用來替代eaccelerator
google-perftools-1.9.1.tar.gz
ImageMagick-6.7.8-2.tar.gz #功能強大、穩定而且免費的工具集和開發包;
imagick-3.1.0RC2.tgz #PHP的一個擴展程序,它是默認的GD圖象函數庫的絕佳替代方案。
libiconv-1.14.tar.gz
libmcrypt-2.5.8.tar.gz
mcrypt-2.6.8.tar.gz
memcache-3.0.6.tgz
memcached-1.4.13.tar.gz #高性能的分布式的內存對象緩存系統;可替換 memcache-3.0.6.tgz
mhash-0.9.9.9.tar.bz2
ncurses-5.9.tar.gz
openssl-1.0.1c.tar.gz
pcre-8.31.tar.gz
php-fpm-0.6-103~5.3.1.tar.gz
wordpress-3.4.1-zh_CN.zip #wordpress個人博客
所有的軟件包都放在 /data1/lnmp/ 這個目錄下面。
注意:
eAccelerator 是一個自由開放源碼php加速器,優化和動態內容緩存,提高了php腳本的緩存性能,使得PHP腳本在編譯的狀態下,對服務器的開銷幾乎完全消除。 它還有對腳本起優化作用,以加快其執行效率。使PHP程序代碼執效率能提高1-10倍。
Memcache 是一個高性能的分布式的內存對象緩存系統,通過在內存裡維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。它可以應對任意多個連接,使用非阻塞的網絡IO。由於它的工作機制是在內存中開辟一塊空間,然後建立一個HashTable,Memcached自管理這些HashTable。php中的所講的memcache是PHP的一個擴展,是一個客戶端,用於連接 memcached。
ImageMagick 是一套功能強大、穩定而且免費的工具集和開發包,可以用來讀寫和處理超過89種基本格式的圖片文件。利用ImageMagick,你可以根據web應用程序的需要動態生成圖片, 還可以對一個(或一組)圖片進行改變大小、旋轉、銳化、減色或增加特效等操作,並將操作的結果以相同格式或其它格式保存。
6、安裝編譯工具及庫文件
根據情況選擇相關軟件包:
[root@test ~]# yum install make apr* autoconf automake curl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng* php-common php-gd ncurses* libtool* libxml2 libxml2-devel patch
腳本實現檢查各軟件包安裝情況:
必要時選擇安裝這些軟件包,也可源碼安裝:
for i in ` rpm -q gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss-ldap openldap-clients openldap-servers bison bison-devel readline readline-devel libmcrypt libmcrypt-devel net-snmp-devel libXpm* libxml2 libxml2-devel patch|grep 'not installed' | awk '{print $2}' `;
do
yum -y install $i;
done
注意:
至少要安裝 gcc gcc-c++ 等工具。其它的軟件包可以用 YUM 安裝,也可以用源碼安裝。