在CentOS 7 上搭建LAMP

來源:互聯網
上載者:User

標籤:lapm

要求:httpd的動態和靜態資源分為兩台主機提供,mysql也用單獨一台主機。httpd服務提供虛擬機器主機,一個虛擬機器主機用於提供phpMyAdmin;另一個虛擬機器主機用於提供wordpress。安裝使用xcache為php服務提速。

方案:1台主機作為httpd伺服器,1台主機做php伺服器,使用php-fpm模式,1台主機作為mysql資料庫伺服器。

準備工作:三台主機,配置好yum源。

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M01/7F/35/wKiom1cW2CzjWAOTAABM6RKxY-Q689.png" title="1.png" alt="wKiom1cW2CzjWAOTAABM6RKxY-Q689.png" />



第一步:配置httpd伺服器

  1. yum安裝httpd包

    ~]# yum install httpd

    650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/7F/33/wKioL1cW28rhbrVzAAAj5RwrD20320.png" title="2.png" alt="wKioL1cW28rhbrVzAAAj5RwrD20320.png" />

  

   啟動服務

 650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/7F/35/wKiom1cW25bCJoaOAACSq9rNlgw574.png" title="3.png" alt="wKiom1cW25bCJoaOAACSq9rNlgw574.png" />   


測試是否能提供服務頁面

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/7F/35/wKiom1cW3BnDyXVsAAIn92zBOGg558.png" title="4.png" alt="wKiom1cW3BnDyXVsAAIn92zBOGg558.png" />  httpd服務工作正常


2. 配置虛擬機器主機和定義動態網頁面轉寄到php伺服器。

     

   注釋掉主服務頁面路徑

   ~]# vim /etc/httpd/conf/httpd.conf

   650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/7F/33/wKioL1cW36DRP4nJAAAjcecF8Bc927.png" title="5.png" alt="wKioL1cW36DRP4nJAAAjcecF8Bc927.png" />

   

    添加一個設定檔,用於定義虛擬機器主機和定義轉寄。

   ~]# touch /etc/httpd/conf.d/virtualhost.conf

   ~]# vim /etc/httpd/conf.d/virtualhost.conf

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/7F/36/wKiom1cW413BLRwoAAD81BWCDds485.png" title="6.png" alt="wKiom1cW413BLRwoAAD81BWCDds485.png" />


3. 測試虛擬機器主機

  ~]# touch /var/virtualhost/a/check.html

  ~]# vim /var/virtualhost/a/check.html

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/7F/33/wKioL1cW5Zmyu_i7AAAFH_QaRtQ818.png" title="7.png" alt="wKioL1cW5Zmyu_i7AAAFH_QaRtQ818.png" />

 

  ~]# touch /var/virtualhost/b/check.html

  ~]# vim /var/virtualhost/b/check.html

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/7F/33/wKioL1cW5g7CYWQpAAADNfx7DHs112.png" title="8.png" alt="wKioL1cW5g7CYWQpAAADNfx7DHs112.png" />  

在訪問測試的主機中定義將www.a.com和www.b.com解析為httpd伺服器的ip地址

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/7F/36/wKiom1cW5gDTE8UnAABI0vTy-58265.png" style="float:none;" title="9.png" alt="wKiom1cW5gDTE8UnAABI0vTy-58265.png" />

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/7F/36/wKiom1cW5gCQsWzKAABJIIOlyNI317.png" style="float:none;" title="10.png" alt="wKiom1cW5gCQsWzKAABJIIOlyNI317.png" />

註:httpd-2.4:rpm包安裝預設編譯支援了fcgi模組;可以使用httpd -M查看已經載入的模組。

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/7F/37/wKiom1cW8vfwB1UfAAAQIUeF0qQ715.png" title="10.5.png" alt="wKiom1cW8vfwB1UfAAAQIUeF0qQ715.png" />


4.使用systemctl enable httpd.service將服務設定為開機啟動



第二步:配置php伺服器

  1. yum安裝php-fpm包

 ~]# yum install php-fpm

  查看狀態

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/7F/33/wKioL1cW6O-SKYx3AAAjugmiLsk299.png" title="11.png" alt="wKioL1cW6O-SKYx3AAAjugmiLsk299.png" />


2. 修改設定檔

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/7F/34/wKioL1cW7LWQTaZ6AABCcH6rdJY983.png" style="float:none;" title="12.png" alt="wKioL1cW7LWQTaZ6AABCcH6rdJY983.png" />

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/7F/36/wKiom1cW6_XhUPneAABAJMWQx08648.png" style="float:none;" title="13.png" alt="wKiom1cW6_XhUPneAABAJMWQx08648.png" />

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/7F/34/wKioL1cW7LaxYpSbAAAtIRTMipY660.png" style="float:none;" title="14.png" alt="wKioL1cW7LaxYpSbAAAtIRTMipY660.png" />

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/7F/36/wKiom1cW6_agEOdwAAAiSI03jfU927.png" style="float:none;" title="15.png" alt="wKiom1cW6_agEOdwAAAiSI03jfU927.png" />

 ~]# mkdir /var/lib/php/session

  ~]# chown apache:apache /var/lib/php/session


3. 啟動服務,查看狀態

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/7F/36/wKiom1cW7OHAwxjKAACAw1Mawik017.png" title="16.png" alt="wKiom1cW7OHAwxjKAACAw1Mawik017.png" />


4. 在php伺服器的資源路徑下添加測試頁面並測試

  ~]# vim /var/phppage/a/check.php

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/7F/37/wKiom1cW76eDRAG-AAAH_ROmp8Y932.png" title="17.png" alt="wKiom1cW76eDRAG-AAAH_ROmp8Y932.png" />

  ~]# vim /var/phppage/b/check.php

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/7F/37/wKiom1cW8H-yhtG5AAAILhlKLrM290.png" title="18.png" alt="wKiom1cW8H-yhtG5AAAILhlKLrM290.png" />

 訪問

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/7F/37/wKiom1cW8QWxSE9BAAC-0f9lef4807.png" style="float:none;" title="19.png" alt="wKiom1cW8QWxSE9BAAC-0f9lef4807.png" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/7F/34/wKioL1cW8cbQ31_eAADNALPAJP4523.png" style="float:none;" title="20.png" alt="wKioL1cW8cbQ31_eAADNALPAJP4523.png" />



5.安裝php-mysql包(php和mysql之間的通訊協定)

 ~]# yum install php-mysql

  然後重載一下服務

  ~]# systemctl reload php-fpm.service

6.使用systemctl enable php-fpm.service將服務設定為開機啟動



第三部:配置mysql伺服器


  1. yum安裝mariadb包

    ~]# yum install mariadb-server

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/7F/37/wKiom1cW96eT7SDZAAAhSeHgWSw503.png" title="21.png" alt="wKiom1cW96eT7SDZAAAhSeHgWSw503.png" />


2.啟動服務

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M01/7F/38/wKiom1cXD_7woDxpAAEz57ifTW8552.png" title="22.png" alt="wKiom1cXD_7woDxpAAEz57ifTW8552.png" />


3.測試

建立一個測試使用者和資料庫

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/7F/38/wKiom1cXEA3hJ5jRAAC4yrON0ZQ070.png" title="23.png" alt="wKiom1cXEA3hJ5jRAAC4yrON0ZQ070.png" />

  

在php伺服器上放置網頁資源的路徑下添加測試頁面

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/7F/36/wKioL1cXFOrhJv9EAAAbbXX6ONo804.png" title="28.png" style="float:none;" alt="wKioL1cXFOrhJv9EAAAbbXX6ONo804.png" />


650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/7F/39/wKiom1cXFCnCm_uSAAAjH2WKq3Y182.png" style="float:none;" title="24.png" alt="wKiom1cXFCnCm_uSAAAjH2WKq3Y182.png" />

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/7F/36/wKioL1cXFOmxvyOaAAAjFNMLqq8327.png" style="float:none;" title="25.png" alt="wKioL1cXFOmxvyOaAAAjFNMLqq8327.png" />

  

訪問測試

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/7F/39/wKiom1cXFCnjOcXvAAB-mkpcJak200.png" style="float:none;" title="26.png" alt="wKiom1cXFCnjOcXvAAB-mkpcJak200.png" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/7F/39/wKiom1cXFCriYk5dAABsfeB_oZw803.png" style="float:none;" title="27.png" alt="wKiom1cXFCriYk5dAABsfeB_oZw803.png" />


4.使用systemctl enable mariadb.service將服務設定為開機啟動


LAMP搭建完成,可以正常提供服務。


第四步:用www.a.com這個虛擬機器主機提供phpMyAdmin,用www.b.com這個虛擬機器主機提供wordpress


1.準備phpMyAdmin,wordpress的源碼包

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/7F/37/wKioL1cXGTuidPtvAAAW2eL6GL0247.png" title="29.png" alt="wKioL1cXGTuidPtvAAAW2eL6GL0247.png" />


2.解壓到放置頁面資源的路徑下

~]# unzip phpMyAdmin-4.4.14.1-all-languages.zip -d /var/phppage/a


3.編輯其設定檔

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/7F/37/wKioL1cXHhLzQ4eCAADf-pHmIIs502.png" title="31.png" alt="wKioL1cXHhLzQ4eCAADf-pHmIIs502.png" />

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M01/7F/37/wKioL1cXHnPQjIB9AABzkLoR3SY493.png" title="30.png" alt="wKioL1cXHnPQjIB9AABzkLoR3SY493.png" />


4.訪問

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/7F/39/wKiom1cXH0axQjYCAACxnQdLecI006.png" title="32.png" alt="wKiom1cXH0axQjYCAACxnQdLecI006.png" />


已經可以訪問了,但是發現頁面有些地方無法顯示。這是因為此頁面是由動態資源和靜態資源組成的,而httpd伺服器只是把動態資源請求轉寄到php伺服器了,靜態資源是httpd提供,它現在資源路徑下並沒有此資源,所以此頁面顯示不全。原理可見

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/7F/37/wKioL1cXIZbT0C5hAAB3558nBF8829.jpg" title="QQ圖片20160420142202.jpg" alt="wKioL1cXIZbT0C5hAAB3558nBF8829.jpg" />

解決方案:在httpd伺服器上的資源放置路徑下同樣放置一份phpMyAdmin源碼檔案,這樣頁面就可以顯示完全了。

現在我們要訪問phpMyAdmin這個頁面時,需要在給出網域名稱的同時還要指定url。這樣太麻煩。

有兩個方案可以解決。

第一個方案:修改虛擬機器主機的配置,修改DocumentRoot 路徑 同時修改轉寄後的路徑

DocumentRoot /var/virtualhost/a/phpMyAdmin-4.4.14.1-all-languages

ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.0.132:9000/var/phppage/a/phpMyAdmin-4.4.14.1-all-languages/$1

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/7F/3A/wKiom1cXKo3Ty0fgAABeulGXmAg373.png" title="33.png" alt="wKiom1cXKo3Ty0fgAABeulGXmAg373.png" />

然後使用httpd -t測試組態檔案文法,再重載以下設定檔,就可以了

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/7F/3A/wKiom1cXKqCQCMKQAACppld4fgU956.png" title="34.png" alt="wKiom1cXKqCQCMKQAACppld4fgU956.png" />第二個方案:將所有phpMyAdmin源碼檔案直接放在DocumentRoot 路徑下。php伺服器則直接放在指定轉寄後的路徑下。

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/7F/3A/wKiom1cXK8Hxrpn_AAC3hBNPI3M936.png" title="36.png" alt="wKiom1cXK8Hxrpn_AAC3hBNPI3M936.png" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/7F/39/wKiom1cXJYvh1-OEAAC-3DyldSA157.png" title="35.png" alt="wKiom1cXJYvh1-OEAAC-3DyldSA157.png" />



布置wordpress

~]# unzip wordpress-4.3.1-zh_CN.zip -d /var/phppage/b

 ]# ]# cp wp-config-sample.php wp-config.php

 ]# vim wp-config.php

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/7F/38/wKioL1cXLwLAtu_YAABt21MV1AU622.png" title="37.png" alt="wKioL1cXLwLAtu_YAABt21MV1AU622.png" />

注意:這樣wp用來登陸和使用的資料庫使用者需提前建立。

後續過程類似配置phpMyAdmin,就不重複了。


第五步:安裝xcache,提高處理php請求速度


1.安裝前先做一下壓力測試

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/7F/38/wKioL1cXMMHDXjAPAABniOwMB_I064.png" style="float:none;" title="38.png" alt="wKioL1cXMMHDXjAPAABniOwMB_I064.png" />

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/7F/3A/wKiom1cXMAHTS5BAAAC6fw_wlz0512.png" style="float:none;" title="39.png" alt="wKiom1cXMAHTS5BAAAC6fw_wlz0512.png" />


這次我們使用編譯安裝xcache

準備工作:下載一個xcache源碼包,安裝Development Tools和Server Platform Development包組。安裝php-devel包。


2.開始編譯

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/7F/3B/wKiom1cXNTGixJRTAADwC0s-ElY828.png" title="40.png" alt="wKiom1cXNTGixJRTAADwC0s-ElY828.png" />

如果這一步沒問題,執行make,然後執行make instal。

安裝完成後,添加設定檔,然後讓服務重載。

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M01/7F/3B/wKiom1cXNX-i1J0ZAAAZIX-Wlyc461.png" title="42.png" alt="wKiom1cXNX-i1J0ZAAAZIX-Wlyc461.png" />


3.再做一次壓力測試

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/7F/3B/wKiom1cXNfrwmcWwAABocFn0Wz4275.png" style="float:none;" title="43.png" alt="wKiom1cXNfrwmcWwAABocFn0Wz4275.png" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/7F/39/wKioL1cXNrvwZ7MMAACz-q-df1Q772.png" style="float:none;" title="44.png" alt="wKioL1cXNrvwZ7MMAACz-q-df1Q772.png" />

對比兩次壓力測試可以看出,裝了xcache以後,php請求處理速度提高3倍左右。




 

在CentOS 7 上搭建LAMP

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.