ubuntu server 10.4下LAMP的安裝

前言:php

Apache,Mysql,php結合在一塊兒經常使用在三種環境,一種是微軟的windows server 下的AMP,就把它叫WAMP;另外一種固然就是GNU/LINUX下的,都叫它LAMP;還能夠用在Unix,BSD下。在windows server 下我用appserv軟件http://www.appservnetwork.com/index.php來配置AMP環境,與appserv功能類似的軟件還有XAMPP軟件http://www.apachefriends.org/zh_cn/index.html,wampserver軟件http://www.wampserver.com/。在LINUX下的應用相對來講在更多一些,因公司不久之後要加大LAMP應用,因此我先學習下。在這我主要在ubuntu server 10.4下配置。html

軟件包:mysql

Mysql:http://www.mysql.com/?bydis_dis_index=1linux

PHP:http://www.php.net/web

Apahce:http://www.apache.org/sql

phpmyadmin:http://www.phpmyadmin.net/home_page/index.php數據庫

安裝方式討論:apache

我認爲有6種安裝LAMP環境的方法供咱們選擇ubuntu

(1)在安裝ubuntu server 10.4操做系統時就選中LAMP,裝完系統後,LAMP環境也就安裝好了。windows

lamp02

(2)若是在裝系統時沒選擇LAMP server也不要緊,系統裝完後,也能夠用#sudo tasksel來安裝LAMP

#sudo tasksel

lamp01

(3)也能夠用#sudo apt-get install 的方式分別安裝Mysql,php5,apache2和相關的軟件,再作簡單配置便可完成LAMP環境。

(4)還能夠分別下載DEB軟件,用#sudo dpkg –i 方式安裝

(5)還能夠分別下載源碼包,編譯安裝。

以上是經常使用的方法,在安裝LAMP時,還有另一種方法

(6)利用XAMPP這個軟件包,詳情請看http://www.apachefriends.org/zh_cn/xampp.html,幾分鐘LAMP就行了,功能也很完善,對要求不是很嚴格的狀況,能夠試用。但在生產環境下,不多使用這種方法,由於它會給你裝一些你不想要的東西,體會不到DIY的樂趣。

第一種,第二種安裝方式是最簡單,沒什麼說的,第三種方式,是最經常使用的,我一會試下,第四種,第五種方式,比較麻煩,我不想試。可是第五種方式最能體會到DIY的精神,也是LINUX的吸引人的地方,定製安裝。第六種,官方有安裝步驟。

安裝:就用第三種方式,在debian,ubuntu下最經常使用的安裝軟件包的方法。

(1)安裝apache2,php5

#sudo apt-get install apache2 php5 libapache2-mod-php5

lamp05

在ubuntu server 10.4中安裝的是apache2-mpm-prefork,下面就有關於這個軟件包的介紹。

apache2的配置文件在/etc/apache2/apache2.conf

web文件存放在/var/www下

在ubuntu和Debian中,apache2的主要功能模塊multi-Processing Module 多道處理模塊,簡稱MPM被分紅三個主要的軟件包:

apache2-mpm-event

apache2-mpm-prefork

apache2-mpm-worker

這三個軟件包有什麼區別?

引用《ubuntu 最佳方案》中關於這個三個軟件包的比較:

 

 

event:比較適用於那些須要大量持續的狀況,能夠在同一個TCP鏈接中響應屢次請求,這種方式,可使一個包含大量圖片的HTML文檔加速50%。在配置文件中設置keepalive 爲on便可啓用keepalive.

perfork 實現了一個非線程的MPM,兼容apache1.3系列。雖然不是很快,可是很穩定。它能隔離每一個請求,因此,若是某個請求出現故障,不會影響其餘請求。 prefork由一個主進程在那裏負責,事先生出一些子進程,這樣一旦有訪問請求,客戶機就沒必要再等待服務器產生子進程的所花的時間。使用prefork最 重要的是將maxclients設置得恰當。這個值要足夠大,這樣能夠在訪問高峯時發揮很好的性能;但不能太大,導致Apache所需內存超過物理內存的 大小。

worker是apache2 中開發的新MPM,速度比perfork快不少。並且,因爲使用多線程進行訪問處理,因此可以處理相對海量的請求,而系統資源的佔用也要小於基於進程的服 務器。同時,worker也使用了多進程,每一個進程又生成多個線程,這樣能夠得到基於進程服務器的穩定性。和prefork相似,由一個主進程那裏負責, 事先生出一些子進程,這樣一旦有訪問請求,客戶機就沒必要再等待服務器產生子進程的所花的時間。這種worker的MPM工做方式將是將來APACHE2發 展趨勢。在worker中比較重要的兩個配置選項是:ThreadsPerChild和MaxClients。前者用來控制每一個子進程容許創建的線程數, 後者用來控制容許創建的總線程數。

該選擇那個MPM,若是須要更好伸縮性,能夠選用worker或event,由於它們是線程化的;若是須要更好的穩定性和兼容性,能夠選用prefork。沒法評估自已的需求,不妨就選worker,也就是apache2-mpm-worker。

 關於這三個軟件包的介紹還可看官方的文檔http://httpd.apache.org/docs/2.0/mod/,那進程與線程有什麼區別,能夠去搜一下。

爲何要安裝libapache2-mod-php5軟件包?

引用《ubuntu 最佳方案》:由於咱們安裝這個軟件包時,它會自動向/etc/apache2/mods-available寫入了PHP的配置文件php5.conf和php5.load,並把它們連接到了/etc/apache2/mods-enabled目錄。安裝的最後,軟件包自動從新載入了apache配置,php就能夠在apache上跑了。無需手動的把Apache與PHP關聯到一塊兒。

爲了測試PHP是否正確安裝在/var/www下寫一個phpinfo.php的文件

<?php

phpinfo();

?>

從新啓動apache2

#sudo /etc/init.d/apache2 restart

在瀏覽器中輸入http://ip/phpinfo就能看到相應的php,apache2的配置信息,此時因沒安裝mysql,因此還看不到對mysql的支持。

lamp10

(2) 安裝mysql

#sudo apt-get install  mysql-server mysql-client php5-mysql

lamp06

爲何安裝php5-mysql軟件包?

正是由於該軟件包會向/etc/php5/conf.d目錄寫入配置文件,使得PHP可以支持mysql

在安裝過程當中會讓你輸入mysql的root用戶的密碼

lamp07

安裝完成後,試着登陸

#sudo mysql –uroot -p密碼

&gt;show databases;

(3)爲了管理mysql,咱們能夠用phpmyadmin,webmin或其它工具,這裏咱們用phpmyadmin。

#sudo apt-get install phpmyadmin

lamp08

在/etc/apache2/apache2.conf里加入如下內容。我作實驗時沒有加入,也可成功登陸。

lamp09

在瀏覽器中輸入http://ip/phpmyadmin,輸入相應的帳戶便可登陸

lamp11

管理mysql有不少可視化的工具, 能夠參考http://database.51cto.com/art/201008/221265.htm,我如今用的有兩個,一個是phpmyadmin,另外一個就MySQL GUI Tools這是官方提供的,MySQL數據庫管理控制檯,提供了四個圖形化應用程序,這些圖形化管理工具能夠大大提升數據庫管理、備份、遷移和查詢效率。它們分別是:

MySQL Migration Toolkit

MySQL Administrator

MySQL Query Browser

MySQL Workbench

在windows環境及linux下都有,很好用。

結束語: 到此LAMP環境就配置完了,可是有不少細節東西要去學習,好比APACHE的配置。生產中的應用不是獨立存在的,好比須要把mysql作成集羣或主從複製,還要負載均衡,高可靠性,apache要代理,要監控它們的運行狀態等。把它們組合到一塊兒應用,仍是頗有搞頭的。如何在debina及ubuntu下配置LAMP能夠參考http://www.howtoforge.com/ubuntu_debian_lamp_server,我就是看的這篇文章。

相關文章
相關標籤/搜索