淺談LAMP平臺的構建

    LAMP時運維必備的基本功,也是將來從事DBA的最起碼的要求,當需要升級你的MySQL等最基本的服務時,這就排上用場了,這裏,給大家簡單的談一談。

    大致的安裝順序是這樣的,大家先有個概念:apr--->apr-util--->httpd--->MySQL--->php

    因爲升級軟件,是不可以卸載舊的軟件的,這是Linux不同於Windows之處,底層的庫是互相共享的,所以,只需要在/usr/local下創建文件來安裝就好,卸載時,刪除對應文件就可以了,省時省力。

    1、首先,Linux平臺已經構建完成,就不介紹了

    2、其次,httpd的升級還要依靠系統安裝別的軟件包所依賴的庫,如:apr,apr-util,網上下載好,編譯安裝就行。再下載好新版的httpd的源碼後,三步驟安裝,分別是.configure,make,make install。此處注意:進行httpd源碼的編譯時,要指明apr-util的安裝路徑,應該這樣寫./configure --prefix=/PATH/TO/FILE --with-apr-util=/PATH/TO/FILE。大家如果已經用yum源安裝了相關包,卸載即可。

   3、然後,編譯安裝MySQL,這個階段較爲複雜,有如下幾個步驟。

        創建mysql用戶;

        創建LVM修改熟慮庫中數據的存放位置,默認是存放在安裝目錄下的/data文件中;

        創建LVM過程(此處以/dev/sda4爲例,大家視情況而定就好);

            先創建LVM--->pvcreate /dev/sda4--->vgcreate myvg /dev/sda4--->lvcreate -n mydata -L 1G--->mke2fs -j /dev/myvg/mydata--->vim /etc/fstable--->mount -a

        編譯安裝MySQL;

        以mysql身份初始化mysql(此處要將安裝目錄下的文件的權限修改爲mysql用戶,mysql組);

            script_install_db --user mysql --ddatadir=/PATH/TO/FILE(此處的FILE就是掛載的mydata掛載的地方)

        再將安裝位置下的support-files/mysql.server腳本移植到/etc/init.d/下,命名mysqld,並使用chkconfig命令使系統可以啓動這項服務;

        將安裝目錄下的my.cnf這個配置文件放在/etc/下,並修改其數據文件目錄爲mydata,否則服務將無法啓動,此處要格外留心;

        啓動服務;

             如果是自己編譯安裝的服務軟件,mysql和mysqld都將安裝,並且mysql安裝目錄下的/bin下的命令因爲沒有PATH變量,所以無法使用,解決方法:修改PATH變量:/etc/profile.d/mysql.sh,export PATH=$PATH:/usr/local/mysql/bin。

    4、最後,安裝php,有了上面的基礎,php安裝起來就很簡單了,同理,編譯安裝,同理,要啓動服務的話,還需要配置文件,不過php的配置文件比較特殊,不像httpd和mysql可以自己生成,它在php目錄下,只需要把對應的ini文件移除到/etc/下即可。

     補充實現Apache的Xcache功能,因爲Xcache是Apache的衆多擴張功能的一個(mysql,mbstring等等),所以需要整合php和Xcache,步驟是將Xcache下的Xcache.ini導入到/etc/php.d/下,並編輯此文件的首部,修改爲zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so,重啓服務器,既可以實現Xcache功能了。

    那麼如何基於在Apache上基於虛擬主機來實現LAMP的功能呢,那就更簡單了,只需要在/ec/httpd/httpd.conf下修改文件,把DocumentRoot註釋掉,並啓用虛擬主機功能,並在對應的目錄下修改文件,配置虛擬主機的各項參數,重啓服務就可以了。

以下是個人的一個關於虛擬主機的基於端口的配置,大家可以參考一下

<VirtualHost 192.168.1.99:80>

    DocumentRoot  "/www.a.org"

    ServerName  www.a.org

    <Directory>

        Options  none

        AllowOverride  none

        Require all granted

   </Directory 192.168.1.99:8080>

    ErrorLod "/var/log/httpd/a.org-error_log"

    CustomLog "/var/log/httpd/a.org-custom_log"    combined

</VirtualHost>

    重啓服務之後,就可以使用httpd自帶的ab功能來進行壓力測試了。

        ab -c 10 -n 100 http://192.168.1.1/index.html,在這裏,測試時,要以併發數的峯值爲標準,可以通過vmstat 1來觀察隊列的長度、上下文轉換(進程切換),終端次數、磁盤寫入內存數來觀察性能,並可以修改/etc/httpd/extra/httpd-mpm.conf來修改apache的工作模型,修改併發數,進而優化系統。那麼如何使自己編譯的系統支持https的功能呢,當然也很簡單,修改httpd.conf,使其支持ssl功能,再使用相關的openssl命令創建祕鑰既可以了,並修改/etc/httpd/extra/httpd-ssl.conf,把虛擬主機放入其中,就可以了

   

   

          

      

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