一、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
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuIDM2YzMwATOx8CX4AzMxAjMvwFduVWboNWY0RXYvwVbvNmLvR3YxUjL1M3Lc9CX6MHc0RHaiojIsJye.png)
此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服務
用戶端通路測試
系統環境安裝
安裝php服務
為php提供配置檔案
為php-fpm提供sysv init腳本,并将其添加至服務清單
為php-fpm提供配置檔案:
編輯php-fpm配置檔案
注釋:
第2-6行:更具個人伺服器系統性能進行調試
啟動php-fpm服務
檢視服務是否已經啟動
配置apache伺服器
設定虛拟主機
重新啟動httpd服務
建立站點目錄(注意在apache伺服器和fastcgi伺服器都需要建立)
在fastcgi伺服器上建立php測試腳本
用戶端測試php是否工作正常
mysq有三種安裝方式
rpm包
通用二進制包
源碼包
此處我們采用通用二進制包安裝
建立mysql資料的存放路徑
建立mysql使用者并修改權限
安裝并初始化mysql
為mysql提供主配置檔案
修改主配置檔案
為mysql提供sysv服務腳本并添加到服務清單
輸出mysql的man手冊至man指令的查找路徑
輸出mysql的頭檔案至系統頭檔案路徑/usr/include
修改完成之後重新載入系統庫
修改path環境變量,讓系統可以直接使用mysql的相關指令。
啟動mysqld服務
資料庫授權
apache和fastcgi配置phpmyadmin
用戶端連接配接測試
安裝libevent
memcached依賴于libevent api,是以要事先安裝。
安裝memcache
為memcached 提供sysv風格的startup腳本代碼如下所示
檢視memcached監聽端口
安裝memcache的php擴充(php的驅動)
修改php配置檔案加載memcached子產品
重新啟動此服務php-fpm
此時在用戶端測試php與memcache是否連接配接成功
測試memcached與php是否工作正常
用戶端再次通路測試
建立memcache站點目錄(注意在apache伺服器和fastcgi伺服器都需要建立)
注意要想使用memcache功能,首先需要确定程式是支援memcache的,否則此時的memcache沒有任何意義。。。
至此lammp環境搭建完成。。。
望廣大博友多提寶貴意見,共同努力。。。