ubuntu server 10.4下LAMP的安裝

前言:

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下配置。

軟件包:

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

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

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

phpmyadmin:http://www.phpmyadmin.net/home_page/index.php

安裝方式討論:

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

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

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,我就是看的這篇文章。

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