在Internet中,要提供一臺(tái)功能完整、可擴(kuò)展性強(qiáng)的企業(yè)網(wǎng)站服務(wù)器,不僅需要有HTTP服務(wù)器軟件、數(shù)據(jù)庫(kù)系統(tǒng),也離不開(kāi)動(dòng)態(tài)網(wǎng)頁(yè)程序的支持。LAMP平臺(tái)很好的把這些服務(wù),結(jié)合到了一起。作為企業(yè)運(yùn)維人員是必須了解并且熟練掌握的。
LAMP平臺(tái)概述
LAMP架構(gòu)是目前成熟的企業(yè)網(wǎng)站應(yīng)用模式之一,指的是協(xié)同工作的一整套系統(tǒng)和相關(guān)軟件,能夠提供動(dòng)態(tài)Web站點(diǎn)服務(wù)及其應(yīng)用開(kāi)發(fā)環(huán)境。
LAMP平臺(tái)的構(gòu)成組件:
- Linux操作系統(tǒng):作為L(zhǎng)AMP架構(gòu)的基礎(chǔ),提供用于支撐Web站點(diǎn)的操作系統(tǒng),能夠與其他三個(gè)組件提供更好的穩(wěn)定性、兼容性(AMP組件也支持Windows、UNIX等操作系統(tǒng));
- Apache網(wǎng)站服務(wù)器:作為L(zhǎng)AMP的前端,是一塊功能強(qiáng)大、穩(wěn)定性好的Web服務(wù)器程序,該服務(wù)器直接面向用戶(hù)提供網(wǎng)站訪(fǎng)問(wèn),發(fā)送網(wǎng)頁(yè)、圖片等文件內(nèi)容;
- MySQL數(shù)據(jù)庫(kù)服務(wù)器:作為L(zhǎng)AMP架構(gòu)的后端,是一款流行的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù);
- PHP/Perl/Python網(wǎng)頁(yè)編程語(yǔ)言作為三種開(kāi)發(fā)動(dòng)態(tài)網(wǎng)頁(yè)的編程語(yǔ)言,負(fù)責(zé)解釋動(dòng)態(tài)網(wǎng)頁(yè)文件,并提供Web應(yīng)用程序的開(kāi)發(fā)和運(yùn)行環(huán)境。其中PHP是一種廣泛應(yīng)用的開(kāi)放源代碼的多用途腳本語(yǔ)言,它可以嵌入到HTML中,尤其適合于Web應(yīng)用開(kāi)發(fā)。
LAMP平臺(tái)的應(yīng)用優(yōu)勢(shì)
構(gòu)成LAMP平臺(tái)的四大組件,每個(gè)組件都經(jīng)歷了數(shù)十年之久的企業(yè)應(yīng)用的考驗(yàn),各自都是同類(lèi)軟件中的佼佼者,從而成為典型的“黃金搭檔”。其主要優(yōu)勢(shì):
- 成本低廉;
- 可定制;
- 易于開(kāi)發(fā);
- 方便易用;
- 安全和穩(wěn)定。
在構(gòu)建LAMP平臺(tái)時(shí),各組件的安裝順序依次為L(zhǎng)inux、Apache、MySQL、PHP。其中Apache和MySQL的安裝順序并沒(méi)有嚴(yán)格的順序要求;但是PHP環(huán)境的安裝一般放在最后,負(fù)責(zé)溝通Web服務(wù)器和數(shù)據(jù)庫(kù)系統(tǒng)協(xié)同工作。
搭建Apache服務(wù)可以參考博文:CentOS 7 利用Apache搭建Web網(wǎng)站服務(wù);
搭建MYSQL數(shù)據(jù)庫(kù)服務(wù)可以參考博文:CentOS 7 編譯安裝MySQL數(shù)據(jù)庫(kù)系統(tǒng)。
安裝完成APache、MySQL服務(wù)并啟動(dòng),搭建PHP是本次博客的重點(diǎn)?。。?/strong>
安裝PHP所需的源碼包有:libmcrypt-2.5.8.tar.gz、mhash-0.9.9.9.tar.gz、mcrypt-2.6.8.tar.gz、php-5.5.38.tar.gz、zend-loader-php5.5-linux-x86_64_update1.tar.gz、phpMyAdmin-4.7.2-all-languages.tar.gz
——————————————分割線(xiàn)——————————————
可從以下信息得到下載:
點(diǎn)擊這個(gè)http://www.linuxidc.com/Linux/2013-12/93755.htm 鏈接關(guān)注 Linux公社官方微信,關(guān)注后回復(fù)數(shù)字160182。即可得到網(wǎng)友的分享密碼。
如果取消關(guān)注Linux公社公眾號(hào),即使再次關(guān)注,也將無(wú)法提供本服務(wù)!
鏈接: https://pan.baidu.com/s/1hzr7J6InJLGcgqQTY0lwuw 密碼:獲得見(jiàn)上面的方法,地址失效請(qǐng)?jiān)谙旅媪粞浴?/p>
——————————————分割線(xiàn)——————————————
構(gòu)建PHP運(yùn)行環(huán)境
PHP即Hypertext Preprocessor(超級(jí)文本預(yù)處理語(yǔ)言)的縮寫(xiě),是一種服務(wù)器端的HTML嵌入式腳本語(yǔ)言。PHP的語(yǔ)法混合了C、Java、Perl及部分自創(chuàng)的新語(yǔ)法,擁有更好的網(wǎng)頁(yè)執(zhí)行速度、更重要的是PHP支持絕大多數(shù)流行的數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)層面的操作功能十分強(qiáng)大,而且支持UNIX、Windows、Linux等多種操作系統(tǒng)。
一、安裝PHP軟件包
1)準(zhǔn)備工作
為了避免發(fā)生程序沖突等現(xiàn)象,建議先將RPM方式安裝的php及相關(guān)依懶包卸載,比如php、php-cli、php-ldap、php-common、php-mysql等。并且安裝系統(tǒng)盤(pán)上存在的zlib-devel、libxml2-devel和xz-devel RPM包。
[root@localhost ~]# rpm -e php php-cli php-ldap php-common php-mysql --nodeps 錯(cuò)誤:未安裝軟件包 php 錯(cuò)誤:未安裝軟件包 php-cli 錯(cuò)誤:未安裝軟件包 php-ldap 錯(cuò)誤:未安裝軟件包 php-common 錯(cuò)誤:未安裝軟件包 php-mysql [root@localhost Packages]# rpm -ivh zlib-devel-1.2.7-17.el7.x86_64.rpm [root@localhost Packages]# rpm -ivh xz-devel-5.2.2-1.el7.x86_64.rpm [root@localhost Packages]# rpm -ivh libxml2-devel-2.9.1-6.el7_2.3.x86_64.rpm
2)安裝擴(kuò)展工具庫(kù)
在現(xiàn)實(shí)企業(yè)環(huán)境中,一部分基于PHP開(kāi)發(fā)的Web應(yīng)用系統(tǒng)會(huì)需要額外的擴(kuò)展工具,如數(shù)據(jù)加密工具libmcrypt、mhash、mcrypt等。(工具網(wǎng)盤(pán)鏈接已附在博客開(kāi)頭)安裝php軟件包之前應(yīng)先安裝這些數(shù)據(jù)加密工具,并做符號(hào)鏈接。
1.安裝libmcrypt
[root@localhost ~]# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src [root@localhost ~]# cd /usr/src/libmcrypt-2.5.8/ [root@localhost libmcrypt-2.5.8]# ./configure && make && make install [root@localhost libmcrypt-2.5.8]# ln -s /usr/local/lib/libmcrypt.* /usr/lib
2.安裝mhash
[root@localhost ~]# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src [root@localhost ~]# cd /usr/src/mhash-0.9.9.9/ [root@localhost mhash-0.9.9.9]# ./configure && make && make install [root@localhost mhash-0.9.9.9]# ln -s /usr/local/lib/libmhash* /usr/lib
3.安裝mcrypt
[root@localhost ~]# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src [root@localhost ~]# cd /usr/src/mcrypt-2.6.8/ [root@localhost mcrypt-2.6.8]# ./configure configure: error: *** libmcrypt was not found //配置時(shí)出現(xiàn)這種錯(cuò)誤,應(yīng)該這樣: [root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH //修改環(huán)境變量 [root@localhost mcrypt-2.6.8]# ./configure && make && make install
3)編譯安裝PHP
1.解包(php源碼包資源已經(jīng)附在博客開(kāi)頭)
[root@localhost ~]# tar zxf php-5.5.38.tar.gz -C /usr/src [root@localhost ~]# cd /usr/src/php-5.5.38/
2.配置
[root@localhost php-5.5.38]# ./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php5 --enable-mbstring
上述配置命令中,各選項(xiàng)的含義:
3.編譯及安裝
[root@localhost php-5.5.38]# make && make install
安裝時(shí)間較長(zhǎng)耐心等待!
二、設(shè)置LAMP組件環(huán)境
1)php.ini配置調(diào)整
1.php.ini配置調(diào)整
安裝好PHP軟件包后,系統(tǒng)并不會(huì)自動(dòng)創(chuàng)建php.ini配置文件,但在源碼目錄下提供兩個(gè)樣例配置文件:
/usr/src/php-5.5.38/php.ini-development //開(kāi)發(fā)版樣例文件,用于學(xué)習(xí)、測(cè)試 /usr/src/php-5.5.38/php.ini-production //生產(chǎn)辦樣例文件,用于實(shí)際運(yùn)營(yíng)
兩個(gè)樣例文件差不多,選擇其中一個(gè)樣例文件,并復(fù)制php的配置文件目錄下,并改名為php.ini(文件中以“;”開(kāi)頭的內(nèi)容都表示注釋信息)。
[root@localhost php-5.5.38]# cp /usr/src/php-5.5.38/php.ini-development /usr/local/php5/php.ini [root@localhost php-5.5.38]# vim /usr/local/php5/php.ini ………… //省略部分內(nèi)容 default_charset = "UTF-8" //設(shè)置默認(rèn)字符集為utf-8 file_uploads = On //允許通過(guò)PHP網(wǎng)頁(yè)上傳文件 upload_max_filesize = 2M //允許上傳的文件大小限制 max_file_uploads = 20 //每個(gè)HTTP最多允許請(qǐng)求上傳的文件數(shù) post_max_size = 8M //每次通過(guò)表單post提交的數(shù)據(jù)量限制 short_open_tag = On //允許識(shí)別PHP段語(yǔ)法標(biāo)記,<?……?> extension=php_mysqli.dll //添加MySQL支持
上述配置項(xiàng),默認(rèn)已經(jīng)存在,修改即可!特別是“short_open_tag = Off”,篩選出來(lái)的第一個(gè)不是,第二個(gè)才是。
2.添加ZendGuardLoader
在現(xiàn)實(shí)環(huán)境中為了提高PHP程序的優(yōu)化效率,優(yōu)化頁(yè)面的速度,可以為PHP添加Zend公司開(kāi)發(fā)的ZendGuardLoader優(yōu)化模塊。(優(yōu)化模塊網(wǎng)盤(pán)鏈接已附在博客開(kāi)頭),需要注意的是本次實(shí)驗(yàn)提供的優(yōu)化模塊僅支持PHP 5.3到PHP 5.6系列的版本,如果需要?jiǎng)e的優(yōu)化模塊版本,可以到官網(wǎng)https://www.zend.com/下載合適的版本。
[root@localhost ~]# tar zxf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /usr/src [root@localhost ~]# cd /usr/src/zend-loader-php5.5-linux-x86_64/ [root@localhost zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php //將源碼目錄下的模塊文件復(fù)制到PHP程序i的模塊文件夾
并修改php.ini配置文件,添加加載及啟用模塊的配置語(yǔ)句。
[root@localhost ~]# vim /usr/local/php5/php.ini ………… //省略部分內(nèi)容,添加以下內(nèi)容 zned_extension=/usr/local/php5/lib/php/ZendGuardLoader.so zend_loader.enable=1
2)httpd.conf配置調(diào)整
[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf //修改Apache服務(wù)配置文件 ……………… //省略部分內(nèi)容 LoadModule php5_module modules/libphp5.so //Apache調(diào)用PHP模塊文件,默認(rèn)存在,不用修改 <IfModule dir_module> DirectoryIndex index.html index.php //添加以支持index.php的首頁(yè)文件 </IfModule> AddType application/x-httpd-php .php //手工添加,Apache添加對(duì)php文件支持 [root@localhost ~]# systemctl restart httpd //重新啟動(dòng)httpd服務(wù)
三、測(cè)試LAMP協(xié)同工作
在網(wǎng)站根目錄下創(chuàng)建相應(yīng)的PHP測(cè)試網(wǎng)頁(yè),然后通過(guò)瀏覽器進(jìn)行訪(fǎng)問(wèn),根據(jù)顯示結(jié)果即可判斷LAMP平臺(tái)是否搭建成功!我們分別從PHP網(wǎng)頁(yè)的解析、通過(guò)PHP頁(yè)面訪(fǎng)問(wèn)MySQL數(shù)據(jù)庫(kù)兩個(gè)方面進(jìn)行測(cè)試!
1)測(cè)試PHP網(wǎng)頁(yè)能否正確顯示
[root@localhost ~]# vim /usr/local/httpd/htdocs/test1.php //在Apache服務(wù)器下存放測(cè)試配置文件,添加下列內(nèi)容: <?php phpinfo(); //顯示服務(wù)器的PHP環(huán)境信息 ?>
客戶(hù)機(jī)通過(guò)瀏覽器訪(fǎng)問(wèn)測(cè)試(建議使用谷歌或火狐瀏覽器):
客戶(hù)機(jī)訪(fǎng)問(wèn)成功!??!
2)測(cè)試PHP網(wǎng)頁(yè)能否訪(fǎng)問(wèn)MYSQL數(shù)據(jù)庫(kù)
[root@localhost ~]# vim /usr/local/httpd/htdocs/test2.php <?php $link=mysqli_connect('localhost','root','123456'); //連接MySQL數(shù)據(jù)庫(kù) if($link) echo "恭喜你,數(shù)據(jù)庫(kù)連接成功?。?!"; //連接成功時(shí),返回的消息 mysqli_close($link); //關(guān)閉數(shù)據(jù)庫(kù)連接 ?>
客戶(hù)機(jī)訪(fǎng)問(wèn)測(cè)試:
四、部署PHPMyAdmin系統(tǒng)
PHPMyAdmin是一個(gè)使用PHP語(yǔ)言編寫(xiě),用來(lái)管理MYSQL數(shù)據(jù)庫(kù)的Web應(yīng)用系統(tǒng)。通過(guò)該套件提供的網(wǎng)頁(yè)界面,即使是對(duì)SQL語(yǔ)句不熟悉的人,也能夠非常容易的對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行管理和維護(hù)。
phpMyAdmin源碼包可從官網(wǎng)https://www.phpmyadmin.net/ 下載;也可以使用博文開(kāi)頭提供網(wǎng)盤(pán)鏈接進(jìn)行獲取。
1)解包并移動(dòng)到網(wǎng)站目錄
[root@localhost ~]# tar zxf phpMyAdmin-4.7.2-all-languages.tar.gz -C /usr/src [root@localhost ~]# cd /usr/src/ [root@localhost src]# mv phpMyAdmin-4.7.2-all-languages/ /usr/local/httpd/htdocs/phpadmin
2)建立配置文件config.inc.php
[root@localhost src]# cd /usr/local/httpd/htdocs/phpadmin/ [root@localhost phpadmin]# cp config.sample.inc.php config.inc.php
3)訪(fǎng)問(wèn)PHPMyAdmin的Web管理頁(yè)面
五、使用PHPMyAdmin系統(tǒng)
1)創(chuàng)建新的庫(kù)、新的表
2)表及數(shù)據(jù)記錄的管理
3)直接執(zhí)行MySQL查詢(xún)語(yǔ)句
關(guān)于PHPMyAdmin系統(tǒng)介紹,這里就不多說(shuō)了,有興趣可以自己研究,畢竟是圖形化,易于實(shí)現(xiàn)!