天天看點

LNMP全自動安裝腳本

使用方法:将nginx_php代碼儲存一個檔案,例如nginx_php。上傳到伺服器上執行。

此腳本在centos 5.6 i386/x86_64環境下通過。

bash nginx_php出現提示,如下列圖所示。

LNMP全自動安裝腳本

根據大家自己的需要選擇數字中任意一個,開始全自動安裝lnmp的世界中去吧。

如果之前安裝過nginx或者 php 的話,腳本會自動檢測它們是不是安裝過。例如

LNMP全自動安裝腳本
LNMP全自動安裝腳本

就會提示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等安裝。

繼續閱讀