使用方法:将nginx_php代碼儲存一個檔案,例如nginx_php。上傳到伺服器上執行。
此腳本在centos 5.6 i386/x86_64環境下通過。
bash nginx_php出現提示,如下列圖所示。
根據大家自己的需要選擇數字中任意一個,開始全自動安裝lnmp的世界中去吧。
如果之前安裝過nginx或者 php 的話,腳本會自動檢測它們是不是安裝過。例如
就會提示nginx或者php 已經安裝過了。
nginx_php 源碼
nginx_php 各部分功能講述
不管安裝nginx php和mysql,如果腳本檢測系統沒有執行腳本的時候,将會自動執行初始化工作(包括yum 安裝相關元件和下載下傳所有的軟體包以及配置nginx php服務)
nginx_php裡的函數init 表示初始化,分幾步來執行初始化:
1) yum 安裝nginx php mysql相關元件
2) 在沒有發現目前目錄有packages的情況下, wget 下載下傳軟體包、配置文檔、服務腳本到建立的packages下,之後删除軟體清單。
3) 設定nginx和php-fpm服務
4) 建立eaccelerator 緩存目錄/data0/cache,建立mysql資料目錄/data0/mysql/data
5) 将mysql bin路徑加入系統path中。
6) 建立myql組和mysql使用者,www組和www使用者
函數check_init表示,檢測初始化工作有沒有執行。
函數check_nginx表示,檢測nginx有沒有安裝
函數check_php52表示,檢測php有沒有安裝
函數check_mysql表示,檢測mysql有沒有安裝
函數is_version表示,檢測系統是64位的還是32位的,如果是64位的話,就安裝libunwind庫,因為google-perftools在64位系統中用到了libunwind庫,在32位的是不需要安裝libunwind庫的。
函數ins_nginx表示安裝nginx,其中有判斷系統是否是64位,以便于順利安裝google-pertfools。
函數ins_mysqlclient表示安裝mysql 用戶端,這是讓php 可以連接配接mysql server。
函數ins_mysqlserver表示安裝mysql 服務端,并設定mysql安裝目錄為mysql組和mysql使用者所有,已經配置mysql系統庫。
函數ins_php52表示安裝php,包括libiconv、autoconf、libmcrypt、mhash、mcrypt、suhosin等安裝。并配置php.ini
函數ins_php52ext表示安裝php的擴充,包括mecache、eacceletator、imagick等安裝。