LAMP平臺架構淺析

 

    LAMP是一個縮寫,它指一組常用於來搭建動態網站或者服務器的開源軟件,包括:Linux操作系統,Apache網絡服務器,MySQL數據庫,PHP、Perl或者 Python編程語言(本文以php爲例)。

   下面就介紹一下如何基於rpm包的形式構建LAMP。

   前提簡介:本例是使用虛擬機完成的。虛擬機IP地址爲:192.168.0.72。物理主機IP爲192.168.0.237。

    一、安裝Apache網絡服務
        1、下載Apache軟件包。它的包名爲:httpd

        2、安裝軟件包

           #yum -y install httpd   

        3、關閉SELinux後,啓動httpd服務
        
           #service  httpd  start

        4、在瀏覽器中測試。

          只需在瀏覽器中輸入http://192.168.0.72即可。服務啓動後會自動搜索並運行網頁文件中以ingdex.html命名的文件。如果沒有配置相應的index.html文件,則會顯示默認的歡迎頁面。如下所示:
    

         此時說明web服務安裝成功。

      5、配置文件

        web服務的配置文件至關重要。我們所做的每一步都依賴於配置文件,如建立路徑別名,CGI別名,虛擬主機等都需要在配置文件中進行說明。web的配置文件有兩個:一個是在/etc/httpd/conf.d/路徑下的所有以.conf結尾的文件;另一個是/etc/httpd/conf/httpd.conf。而且後者爲主配置文件。下面就介紹一下主配置文件中比較重要的參數。

     主配置文件主要分爲三段:

     ### Section 1: Global Environment                //全局配置段
     ### Section 2: 'Main' server configuration       //主配置段
     ### Section 3: Virtual Hosts                          //虛擬主機段

     A.在全局配置段中主要的參數有以下幾個:

       ServerRoot "/etc/httpd"                    //定義了httpd服務的工作路徑,默認在/etc/httpd
       Timeout 120                                    //設置超時時間
       KeepAlive Off                                 //定義是否開啓長連接
       KeepAliveTimeout 1                        //長連接的超時時間
       MaxKeepAliveRequests 100            //最大長連接請求數目
       Listen   80                                        //監聽的地址和端口

       另外, 它還定義了MPM、如何加載Apache模塊等。

     B.主配置段

       (1)DocumentRoot選項指定網頁文件的所在位置,默認在/var/www/html目錄下

       (2)每目錄的屬性配置即<Directory  "path"></Directory>。在這個目錄中定義了path中文件的許多重要屬性。httpd的默認網頁文件path爲/var/www/html。
       Options選項後跟參數有:         
            Indexes : 當沒有主頁面時,是否允許顯示其他頁面
            FollowSymLink :是否跟蹤連接(最好關閉)
            ExecCGI:是否允許在當前目錄中執行CGI
            MultiViews:最好關閉影響服務器性能 
            none:不設置       

             如若此項的設置爲:Options indexes FollowSymLinks。查看/var/www/html目錄下的文件:
        
    

    此時可知/var/www/html目錄中沒有index.html文件,而且還有一個鏈接文件。在瀏覽中訪問web服務。
    

     此時顯示了網頁文件中的所有文件,這就是indexes的效果。但這是很不安全的,所以最好不要開啓此項。再驗證一下 FollowSymLink的效果。

     
    當訪問test鏈接時顯示了aa.html的內容。這也是很不安全的選項。所以none參數就剛好可以派上用場了。把OPtions設置爲none。再次查看效果。

      

     這就是none的效果。其他幾個參數不再做演示。下面接着說每目錄中的指令。          

        Order  allow deny選項定義了簡單的訪問控制。allow和deny是兩個參數,兩者位置可以調換。但位置靠後者爲默認設置。
          Allow from :後跟網段或主機,表示允許誰訪問。其中all表示所有。
          Deny from:同上

        AllowOverride選項定義了是否允許覆蓋。覆蓋的就是上述列出的控制
          none :不覆蓋
          AuthConfig :基於賬號密碼的方式訪問。做認證時可以用到。

        還可定義認證訪問。
        AllowOverride  AuthConfig:說明輸入賬號密碼才能登陸
        AuthType  Basic:任何的方式爲Basic
        AuthName  "stuff  only":認證名字
        AuthUserFile   /etc/httpd/conf/.htpasswd:用戶賬號密碼的存放文件的位置
        Require  valid-user:可以訪問的用戶

       每目錄中可以定義選項基本如此。下面介紹主配置段的其他選項  

      (3)自定義定義日誌格式

           LogFormat   
               referer:記錄訪問入口,即訪問的來源是哪裏
          CustomLog    訪問日誌,自定義日誌
               combined,common,agent:定義日誌的格式
           ErrorLog    錯誤日誌

       (4)定義可路徑別名和CGI別名:Alias,ScriptAlias

         此內容詳見博文“如何建立路徑別名”。

        (5) HostnameLookups:是否允許名稱解析

        (6) DirectoryIndex:定義服務器識別的目錄默認主頁     

          默認爲: DirectoryIndex index.html  index.html.var,系統會自動搜索第一個網頁,找不到後再找第二個。所以它們有先後次序。  

        (7)EnableSendfile  On:是否允許Sendfile。其實就是當web請求文件時,內核直接把請求的內容提交給web,而不是再次轉交給用戶空間。此項大大提高了系統性能。建議開啓。 

       還有很多選項,但是不常用,在此就不多做介紹。下面介紹虛擬主機段。

     C、虛擬主機段
     在創建虛擬主機時,需把DocumentRoot註釋掉。詳細描述在“輕鬆創建虛擬主機”博文中。

    二、安裝MYSQL
        MYSQL的運行進程爲mysqld,它監聽在tcp協議的3306端口上

        1、下載MYSQL軟件包。它分爲客戶端包和服務器端包。
        2、安裝軟件包

             #yum -y install mysql mysql-server

       3、啓動mysql服務。

             #service mysqld start

      此時查看系統網絡狀態便可發現mysqld進程。
  

        4、使用mysql命令查看數據。首次使用mysql命令會產生許多配置信息。之後便會進入命令行界面:
   
     此時便可使用管理數據庫的相應命令進行管理。

         5、MYSQL已安裝成功。

    三、安裝php

        1、下載php軟件包。本例以php53.i386爲例,另外還安裝了兩個擴展包php53-mbstring.i386和php53-mysql.i386。這兩個包前者提供語言轉換功能,後者則負責與MYSQL連接。

        2、安裝包

           #yum -y install  php53.i386 php53-mysql.i386 php53-mbstring.i386

        3、安裝完後,重啓web服務。

        4、在/var/www/html目錄下創建一個index.php頁面。在頁面中輸入下面的代碼:

  1. <?php  
  2.     phpinfo();  
  3. ?> 

        5、測試
    

        這是php的信息頁面。此時說明php也安裝成功。

       6、安裝包時我們還安裝了一個與MYSQL連接的包,那麼現在演示php如何與mysql連接。

      在此修改上述的index.html網頁。修改它爲:

  1. <?php  
  2.  $link=mysql_connect('localhost','root','123456');  
  3.  if ($link)   
  4.    echo "Success...";  
  5.  else   
  6.    echo "Failure";  
  7.  mysql_close();  
  8. ?> 

     測試網頁:
   

    結果表明連接成功。

    至此,LAMP已成功建立。此時便可以在LAMP平臺上安裝相應的軟件,如數據庫管理軟件phpMyAmin,日誌管理軟件Awstats等等。博文中也對這兩種軟件的安裝做了詳細的講解,希望可以起到很好的參考作用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章