由於Nginx是一款高性能的HTTP和反向代理服務器。Nginx在反向代理,Rewrite規則,穩定性,靜態文件處理,內存消耗等方面表現了很強的優勢。因此公司線上和測試環境的WEB服務大多數采用的是LNMP環境,經常要進行LNMP環境的搭建,下面是用SHELL腳本寫的一鍵安裝LNMP環境的腳本。
1)系統環境介紹
Centos 5.8 64位 (已測試)
Nginx: nginx-1.4.1.tar.gz
PHP: php-5.3.27.tar.gz
Mysql: mysql-5.6.5-m8.tar.gz
2)一鍵安裝LNMP環境
cd /root/sh
wget http://sourceforge.net/projects/opensourcefile/files/Install_Centos_LNMP_v.0.1.sh/download
Install_Centos_LNMP_v.0.1.sh
3)查看LNMP一鍵安裝腳本的SHELL腳本
cat Install_Centos_LNMP_v.0.1.sh
#!/bin/bash
#author:sfzhang
mkdir -p /software
cd /software
wget http://sourceforge.net/projects/opensourcefile/files/Centos_LNMP_v.0.1.tar.gz/download
if [ $? -eq 0 ]
then
unzip Centos_LNMP_v.0.1.tar.gz
rm -f Centos_LNMP_v.0.1.tar.gz
else
echo "Downloading http://sourceforge.net/projects/opensourcefile/files/Centos_LNMP_v.0.1.tar.gz/download failured!"
exit 1
fi
echo "Installing lnmp depend packages... "
sh /software/install_packages.sh
if [ $? -eq 0 ]
then
echo "Lnmp depend packages install sucessfull!"
else
echo "Lnmp depend packages install failured!"
exit 1
fi
echo "Installing php library files..."
sh /software/install_php_lib.sh
if [ $? -eq 0 ]
then
echo "PHP library install sucessfull!"
else
echo "PHP library install failured!"
exit 1
fi
echo "Installing mysql,please waitting..."
sh /software/install_mysql_5.6.sh
if [ $? -eq 0 ]
then
echo "mysql install sucessfull!"
else
echo "mysql install failured!"
exit 1
fi
echo "Now Installing php,please waitting..."
sh /software/install_php_5.3.sh
if [ $? -eq 0 ]
then
echo "PHP install sucessfull!"
else
echo "PHP install failured!"
exit 1
fi
echo "Installing php extensions...."
sh /software/install_php_ext.sh
if [ $? -eq 0 ]
then
echo "PHP extensions install sucessfull!"
else
echo "PHP extensions install failured!"
exit 1
fi
echo "Installing nginx....."
sh /software/install_nginx.sh
if [ $? -eq 0 ]
then
echo "Nginx install sucessfull!"
else
echo "Nginx install failured!"
exit 1
fi
echo "optimizing the environment of the lnmp!"
sh /software/install_optimiz.sh
if [ $? -eq 0 ]
then
echo "optimizing the environment of the lnmp sucessfull!"
else
echo "optimizing the environment of the lnmp failured!"
exit 1
fi
echo "Congratulations to you,a key installation LNMP is successful!"
腳本說明:該腳本用(if...fi)語句共分為以下8個部分,方便腳本的可讀性,並更具不同的需求方便用戶自定義安裝,比如需要安裝Nginx,只需手工執行sh /software/install_nginx.sh這個腳本
即可,如果需要安裝mysql,則執行 /software/install_mysql_5.6.sh 這個腳本。
1.下載LNMP源碼包及其各部分的安裝腳本。
2.yum安裝LNMP所依賴的包。
3.源碼安裝PHP所需要的庫文件。
4.源碼安裝mysql數據庫。
5.源碼安裝PHP。
6.源碼安裝PHP擴展。
7.源碼安裝NGINX。
8.優化LNMP性能。
4)LNMP一鍵安裝腳本測試
1.LNMP一鍵安裝完成後終端會出現Congratulations to you,a key installation LNMP is successfull字符。
2.啟動nginx和php-fpm服務。
[root@WEB25 sh]# /usr/local/nginx/sbin/nginx
[root@WEB25 sh]# /usr/local/php/sbin/php-fpm -D
3.查看nginx和php-fpm端口。
[root@WEB25 sh]## netstat -antlp |grep LISTEN
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 2002/php-fpm
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1991/nginx
 
4.查看php測試頁。
總結:LNM安裝的PHP擴展說明:
1)eAccelerator是一個自由開放源碼php加速器,優化和動態內容緩存,提高了php腳本的緩存性能,使得PHP腳本在編譯的狀態下,對服務器的開銷幾乎完全消除。 它還有對腳本起優化作用,以加快其執行效率。使您的PHP程序代碼執效率能提高1-10倍,目前只支持PHP5.4的版本。
2)PDO_MYSQL,PDO簡介 PDO 是一個“數據庫訪問抽象層”,作用是統一各種數據庫(MySQL、MSSQL、Oracle、DB2、PostgreSQL……)的訪問接口,能輕松的在不同的數據庫之間完成切換,使得數據庫間的移植容易實現。
3)ImageMagick,ImageMagick是一套功能強大、穩定而且免費的工具集和開發包,可以用來讀、寫和處理超過89種基本格式的圖片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式(安裝ImageMagick需要imagick支持)。
4)Zend Optimizer用優化代碼的方法來提高php應用程序的執行速度。實現的原理是對那些在被最終執行之前由運行編譯器(Run-Time Compiler)產生的代碼進行優化。
本文出自 “樸實的追夢者” 博客,請務必保留此出處http://sfzhang88.blog.51cto.com/4995876/1252637