天天看點

建構企業級LAMMP環境

一、lammp簡介

二、lammp項目環境簡介

三、apache的安裝與配置

四、fastcgi的安裝與配置

五、整合apache與php服務

六、安裝mysql伺服器

七、安裝memcache與libevent

八、安裝memcache 基于web管理平台

    lamp(linux- apache-mysql-php)網站架構是目前國際流行的web架構,該架構包括:linux作業系統,apache網絡伺服器,mysql資料 庫,perl、php或者python程式設計語言,所有組成産品均是開源軟體,是國際上成熟的架構架構,很多流行的商業應用都是采取這個架構,和 java/j2ee架構相比,lamp具有web資源豐富、輕量、快速開發等特點,微軟的.net架構相比,lamp具有通用、跨平台、高性能、低價格的 優勢,是以lamp無論是性能、品質還是價格都是企業搭建網站的首選平台。在此基礎上我們增加了memcache緩沖伺服器,解決了應用程式與資料庫之間的瓶頸問題,有效提高了通路速度,這就是lammp架構。

系統環境:centos6.4x86-64            

apache   ip: 172.16.10.1

php      ip:172.16.10.2

mysql    ip:172.16.10.3

memcache ip: 172.16.10.4

建構企業級LAMMP環境

  此lammp架構是分别搭建在不同的伺服器上面,在生産環境中,更是應該如此,一台伺服器提供多種應用,伺服器會很消耗資源,提供服務的性能也會降低。

此架構中各伺服器的工作

     apache在此架構中,響應回複使用者html的請求

     fastcgi是把php程式執行的結果響應給apache

     memcached是根據使用者請求的動态網頁檔案中是否需要memcached伺服器緩存資料,memcache是把資料存儲在記憶體中的,速度可想而知了。

     mysql是響應使用者是否需寫入查詢資料

使用者的請求資源到擷取資源的過程

   1、當使用者隻需要請求web伺服器的html頁面時,apache直接響應請求,所經過的過程為1--->10

   2、當使用者需請求一個web伺服器的動态的頁面時,apache把使用者請求的php執行程式發送給fastcgi伺服器執行,fastcgi把執行的結果傳回給apache伺服器,伺服器把程式生成的的靜态頁面響應給用戶端。所經過的過程1--->2--->3--->8--->9--->10

   3、當使用者需要請求的web伺服器資源中需要資料時,apache把使用者請求的php執行  程式給fastcgi執行,執行過程中需要對資料進行操作時且memcached中沒有緩存時,fastcgi去請求mysql伺服器的資源,mysql伺服器把資料響應給fastcgi,如果此資料需要緩存則fastcgi把資料緩存到memcached伺服器上,然後把資料響應給apache,apache生成靜态的頁面響應給用戶端。所經過的過程1--->2--->3--->6--->7[--->4]--->8--->9--->10(如果需要緩存則會經過4過程)

   4、當使用者需要請求的web伺服器資源中需要資料時,apache把使用者請求的php執行程式給 fastcgi執行,執行過程中需要對資料進行操作時memcached中有緩存時,memcached直接把 資料響應給fastcgi,然後把資料響應給apache,apache生成靜态的頁面響應給用戶端。所經過的過程1--->2--->3--->4--->5--->8--->9--->10

為了解決軟體包下載下傳的問題,特提供軟體包的下載下傳位址:

apr版本:apr-1.4.8

下載下傳位址:http://mirror.bit.edu.cn/apache//apr/apr-1.4.8.tar.bz2

apr-util版本:apr-util-1.5.2

下載下傳位址:http://mirror.bit.edu.cn/apache//apr/apr-util-1.5.2.tar.bz2

httpd版本:httpd-2.4.6            

下載下傳位址:http://mirror.esocc.com/apache//httpd/httpd-2.4.6.tar.bz2

memcached版本:memcached-1.4.15    

下載下傳位址:http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz

mysql版本:mysql-5.5.33              

下載下傳位址:http://mirrors.sohu.com/mysql/mysql-5.5/mysql-5.5.33-linux2.6-x86_64.tar.gz

php版本:php-5.4.19                  

下載下傳位址:http://mirrors.sohu.com/php/php-5.4.19.tar.bz2

php的memcache驅動:memcache-2.2.7    

下載下傳位址:http://pecl.php.net/get/memcache-2.2.7.tgz

libevent版本:libevent-2.0.21-stable  

下載下傳位址:http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

系統的yum源為搜狐源,

準備系統環境:

安裝apr

安裝apr-util

安裝apache

提供sysv服務腳本/etc/rc.d/init.d/httpd,内容如下

為此腳本賦予執行權限

将httpd加入服務清單

啟動httpd服務

用戶端通路測試

建構企業級LAMMP環境

系統環境安裝

安裝php服務

為php提供配置檔案

為php-fpm提供sysv init腳本,并将其添加至服務清單

為php-fpm提供配置檔案:

編輯php-fpm配置檔案

注釋:

   第2-6行:更具個人伺服器系統性能進行調試

啟動php-fpm服務

檢視服務是否已經啟動

建構企業級LAMMP環境

配置apache伺服器

設定虛拟主機

重新啟動httpd服務

建立站點目錄(注意在apache伺服器和fastcgi伺服器都需要建立)

在fastcgi伺服器上建立php測試腳本

用戶端測試php是否工作正常

建構企業級LAMMP環境

mysq有三種安裝方式

rpm包

通用二進制包

源碼包

此處我們采用通用二進制包安裝

建立mysql資料的存放路徑

建立mysql使用者并修改權限

安裝并初始化mysql

為mysql提供主配置檔案

修改主配置檔案

為mysql提供sysv服務腳本并添加到服務清單

輸出mysql的man手冊至man指令的查找路徑

輸出mysql的頭檔案至系統頭檔案路徑/usr/include

修改完成之後重新載入系統庫

修改path環境變量,讓系統可以直接使用mysql的相關指令。

啟動mysqld服務

資料庫授權

apache和fastcgi配置phpmyadmin

用戶端連接配接測試

建構企業級LAMMP環境
建構企業級LAMMP環境

安裝libevent

memcached依賴于libevent api,是以要事先安裝。

安裝memcache

為memcached 提供sysv風格的startup腳本代碼如下所示

檢視memcached監聽端口

建構企業級LAMMP環境

安裝memcache的php擴充(php的驅動)

修改php配置檔案加載memcached子產品

重新啟動此服務php-fpm

此時在用戶端測試php與memcache是否連接配接成功

建構企業級LAMMP環境

測試memcached與php是否工作正常

用戶端再次通路測試

建構企業級LAMMP環境

建立memcache站點目錄(注意在apache伺服器和fastcgi伺服器都需要建立)

建構企業級LAMMP環境
建構企業級LAMMP環境
建構企業級LAMMP環境

注意要想使用memcache功能,首先需要确定程式是支援memcache的,否則此時的memcache沒有任何意義。。。

至此lammp環境搭建完成。。。

望廣大博友多提寶貴意見,共同努力。。。