LAMP平臺部署及應用

在Internet中,要提供一臺功能完整、可擴展性強的企業網站服務器,不只須要有HTTP服務器軟件、數據庫系統,也離不開動態網頁程序的支持。LAMP平臺很好的把這些服務,結合到了一塊兒。做爲企業運維人員是必須瞭解而且熟練掌握的。php

LAMP平臺概述

LAMP架構是目前成熟的企業網站應用模式之一,指的是協同工做的一整套系統和相關軟件,可以提供動態Web站點服務及其應用開發環境。html

LAMP平臺的構成組件:

  • Linux操做系統:做爲LAMP架構的基礎,提供用於支撐Web站點的操做系統,可以與其餘三個組件提供更好的穩定性、兼容性(AMP組件也支持Windows、UNIX等操做系統);
  • Apache網站服務器:做爲LAMP的前端,是一塊功能強大、穩定性好的Web服務器程序,該服務器直接面向用戶提供網站訪問,發送網頁、圖片等文件內容;
  • MySQL數據庫服務器:做爲LAMP架構的後端,是一款流行的開源關係型數據庫;
  • PHP/Perl/Python網頁編程語言做爲三種開發動態網頁的編程語言,負責解釋動態網頁文件,並提供Web應用程序的開發和運行環境。其中PHP是一種普遍應用的開放源代碼的多用途腳本語言,它能夠嵌入到HTML中,尤爲適合於Web應用開發。

LAMP平臺的應用優點

構成LAMP平臺的四大組件,每一個組件都經歷了數十年之久的企業應用的考驗,各自都是同類軟件中的佼佼者,從而成爲典型的「黃金搭檔」。其主要優點:前端

  • 成本低廉;
  • 可定製;
  • 易於開發;
  • 方便易用;
  • 安全和穩定。

在構建LAMP平臺時,各組件的安裝順序依次爲Linux、Apache、MySQL、PHP。其中Apache和MySQL的安裝順序並無嚴格的順序要求;可是PHP環境的安裝通常放在最後,負責溝通Web服務器和數據庫系統協同工做。node

搭建Apache服務能夠參考博文:CentOS 7 利用Apache搭建Web網站服務
搭建MYSQL數據庫服務能夠參考博文:CentOS 7 編譯安裝MySQL數據庫系統mysql

安裝完成APache、MySQL服務並啓動,搭建PHP是本次博客的重點!!!linux

安裝PHP所需的源碼包有:sql

構建PHP運行環境

PHP即Hypertext Preprocessor(超級文本預處理語言)的縮寫,是一種服務器端的HTML嵌入式腳本語言。PHP的語法混合了C、Java、Perl及部分自創的新語法,擁有更好的網頁執行速度、更重要的是PHP支持絕大多數流行的數據庫,在數據庫層面的操做功能十分強大,並且支持UNIX、Windows、Linux等多種操做系統。數據庫

1、安裝PHP軟件包

1)準備工做

爲了不發生程序衝突等現象,建議先將RPM方式安裝的php及相關依懶包卸載,好比php、php-cli、php-ldap、php-common、php-mysql等。而且安裝系統盤上存在的zlib-devel、libxml2-devel和xz-devel RPM包。編程

[root@localhost ~]# rpm -e php php-cli php-ldap php-common php-mysql --nodeps
錯誤:未安裝軟件包 php 
錯誤:未安裝軟件包 php-cli 
錯誤:未安裝軟件包 php-ldap 
錯誤:未安裝軟件包 php-common 
錯誤:未安裝軟件包 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)安裝擴展工具庫

在現實企業環境中,一部分基於PHP開發的Web應用系統會須要額外的擴展工具,如數據加密工具libmcrypt、mhash、mcrypt等。(工具網盤連接已附在博客開頭)安裝php軟件包以前應先安裝這些數據加密工具,並作符號連接。vim

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
//配置時出現這種錯誤,應該這樣:
[root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
//修改環境變量
[root@localhost mcrypt-2.6.8]# ./configure && make && make install

3)編譯安裝PHP

1.解包(php源碼包資源已經附在博客開頭)

[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

上述配置命令中,各選項的含義:
LAMP平臺部署及應用

3.編譯及安裝

[root@localhost php-5.5.38]# make && make install

安裝時間較長耐心等待!

2、設置LAMP組件環境

1)php.ini配置調整

1.php.ini配置調整
安裝好PHP軟件包後,系統並不會自動建立php.ini配置文件,但在源碼目錄下提供兩個樣例配置文件:

/usr/src/php-5.5.38/php.ini-development                           //開發版樣例文件,用於學習、測試
/usr/src/php-5.5.38/php.ini-production                              //生產辦樣例文件,用於實際運營

兩個樣例文件差很少,選擇其中一個樣例文件,並複製php的配置文件目錄下,並更名爲php.ini(文件中以「;」開頭的內容都表示註釋信息)。

[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 
…………                                                          //省略部份內容
default_charset = "UTF-8"                              //設置默認字符集爲utf-8
file_uploads = On                                           //容許經過PHP網頁上傳文件
upload_max_filesize = 2M                             //容許上傳的文件大小限制
max_file_uploads = 20                                  //每一個HTTP最多容許請求上傳的文件數
post_max_size = 8M                                    //每次經過表單post提交的數據量限制
short_open_tag = On                                   //容許識別PHP段語法標記,<?……?>
extension=php_mysqli.dll                            //添加MySQL支持

上述配置項,默認已經存在,修改便可!特別是「short_open_tag = Off」,篩選出來的第一個不是,第二個纔是。

2.添加ZendGuardLoader
在現實環境中爲了提升PHP程序的優化效率,優化頁面的速度,能夠爲PHP添加Zend公司開發的ZendGuardLoader優化模塊。(優化模塊網盤連接已附在博客開頭),須要注意的是本次實驗提供的優化模塊僅支持PHP 5.3到PHP 5.6系列的版本,若是須要別的優化模塊版本,能夠到官網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
//將源碼目錄下的模塊文件複製到PHP程序i的模塊文件夾

並修改php.ini配置文件,添加加載及啓用模塊的配置語句。

[root@localhost ~]# vim /usr/local/php5/php.ini
…………                //省略部份內容,添加如下內容
zned_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

2)httpd.conf配置調整

[root@localhost ~]# vim /usr/local/httpd/conf/httpd.conf
//修改Apache服務配置文件
………………                                                //省略部份內容
LoadModule php5_module        modules/libphp5.so                 //Apache調用PHP模塊文件,默認存在,不用修改 
<IfModule dir_module>
DirectoryIndex index.html  index.php                                    //添加以支持index.php的首頁文件
</IfModule>
AddType application/x-httpd-php .php                                 //手工添加,Apache添加對php文件支持
[root@localhost ~]# systemctl restart httpd                             //從新啓動httpd服務

3、測試LAMP協同工做

在網站根目錄下建立相應的PHP測試網頁,而後經過瀏覽器進行訪問,根據顯示結果便可判斷LAMP平臺是否搭建成功!咱們分別從PHP網頁的解析、經過PHP頁面訪問MySQL數據庫兩個方面進行測試!

1)測試PHP網頁可否正確顯示

[root@localhost ~]# vim /usr/local/httpd/htdocs/test1.php
//在Apache服務器下存放測試配置文件,添加下列內容:
<?php
phpinfo();                      //顯示服務器的PHP環境信息
?>

客戶機經過瀏覽器訪問測試(建議使用谷歌或火狐瀏覽器):
LAMP平臺部署及應用
客戶機訪問成功!!!

2)測試PHP網頁可否訪問MYSQL數據庫

[root@localhost ~]# vim /usr/local/httpd/htdocs/test2.php
<?php
$link=mysqli_connect('localhost','root','123456');                  //鏈接MySQL數據庫
if($link) echo "恭喜你,數據庫鏈接成功!!!";                //鏈接成功時,返回的消息
mysqli_close($link);                                                              //關閉數據庫鏈接
?>

客戶機訪問測試:
LAMP平臺部署及應用

4、部署PHPMyAdmin系統

PHPMyAdmin是一個使用PHP語言編寫,用來管理MYSQL數據庫的Web應用系統。經過該套件提供的網頁界面,即便是對SQL語句不熟悉的人,也可以很是容易的對MySQL數據庫進行管理和維護。

phpMyAdmin源碼包可從官網https://www.phpmyadmin.net/ 下載;也可使用博文開頭提供網盤連接進行獲取。

1)解包並移動到網站目錄

[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)訪問PHPMyAdmin的Web管理頁面

LAMP平臺部署及應用

5、使用PHPMyAdmin系統

1)建立新的庫、新的表

LAMP平臺部署及應用
LAMP平臺部署及應用
LAMP平臺部署及應用

2)表及數據記錄的管理

LAMP平臺部署及應用
LAMP平臺部署及應用

3)直接執行MySQL查詢語句

LAMP平臺部署及應用

關於PHPMyAdmin系統介紹,這裏就很少說了,有興趣能夠本身研究,畢竟是圖形化,易於實現!

相關文章
相關標籤/搜索