一、動態網站開發技術
---- 為了迎合動態交互式網頁的開發趨勢,出現了兩大類可以與后臺數據庫進行互動的Web開發技術。第一類是較早出現,現還在應用的CGI技術,它主要是這樣實現的:當Web Server 接收到Browser端發出的帶條件的請求后,它會自動把條件轉到一個特定的CGI程序,這個 CGI程序會根據條件對后臺數據庫進行查詢、修改等操作,并將結果轉換成html格式,送回到Browser端完成整個互動過程。CGI大多使用C和Perl兩種語言來開發,由于技術難度大,所以必須由專業技術人員來完成,而且CGI對于每個請求都要啟動一個進程,對系統的資源消耗很大,所以CGI已經不是開發動態網頁的最佳選擇了。第二類技術就是后來出現的可以嵌入到html中的腳本解釋語言,如ASP(Active Server Pages)、PHP等,它是將VBscript、JavaScript和PHP等特定的腳本語言利用特殊的標記嵌入到html中,當Browser 提出請求時,Web 服務器會使用相應的腳本解釋引擎對腳本解釋執行,完成數據庫的查詢、修改等任務,并把結果送回到Browser端。不同的操作系統和Web 服務器支持不同的腳本語言,在NT+IIS環境中多用ASP技術;而在Unix和Linux平臺的Apache服務器上開發,則多使用PHP技術。
二、 Linux平臺動態Web的開發環境
----在Linux平臺上進行動態網站開發,應該選擇Apache 作為Web服務器,如果開發的不是一個大型的、有大量訪問的網站,完全可以選擇MySQL 作為后臺數據庫服務器,而擔負腳本開發任務的應是目前非常流行的PHP,以上這些配置都是免費軟件,完全可以從因特網上免費得到,僅此一項,就可以節約一筆不小的開支。 Apache+PHP+MySQL相互間可以緊密結合,PHP更是可以作為一個模塊嵌入到Apache 服務器中,從而大大提高了網站的運行效率,因此它們幾乎成為構建Linux平臺動態數據庫交互式網站的完美組合。下面對它們作簡要介紹:
----1. Apache服務器:它是在微軟的IIS和Netscape的 Enterprise Server還未問世之前,由一群程序員寫出來的Web服務器軟件。Apache是當前世界上建立網站最常使用的Web服務器軟件,在Unix和Linux環境下建網站一般都會采用 Apache。一般國外的商業網站都會采用高性能大容量的Unix高端服務器,并安裝Apache 軟件。根據NETCRAFT在2000年6月的調查結果,Apache的占有率已經在所有Web服務器中達到62%,而且這一比例還在上升。由于它是開放源碼的自由軟件,成千上萬的程序員對它進行不斷的修改和完善,因此軟件升級非常及時和方便,而且用戶也可以自己用C 或Perl語言編寫程序來擴展它的功能。
----2.PHP:它是借鑒了Perl 和C語言特點的基礎上發展起來的,是一種典型的服務器端(server-side)腳本語言。其語法結構基本上是借鑒于C,因此學習起來并不困難,它內置了文件上傳密碼認證、Cookies操作、郵件收發、動態GIF生成、XML、共享內存等功能,而更為重要的是它對數據庫的強有力的操縱能力,支持幾乎所有主流和非主流的數據庫。原來需要很長一段Perl語言編寫CGI實現的功能,用PHP簡短幾句就可完成,并且它還可以與Apache服務器緊密結合,執行起來高效快捷。它既可以作為一個獨立的CGI外部程序獨立運行,也可以作為模塊嵌入到Apache中,用戶可以根據自己的需要進行選擇。由于以上優點,PHP成為目前開發數據庫動態網頁非常流行的一種語言,據1998年的保守估計世界上至少有15萬個站點采用PHP開發。
----3. MySQL:是瑞典T.c.X公司開發的數據庫系統,這是一個強大、快速的數據庫服務器軟件,可以應付幾百萬行資料的數據表,因此它正迅速地成為各種網站服務器的必要配備。主要有以下特點:(a)它是一個真正多線程、多用戶的數據庫系統,效率相當高。(b)真正支持多平臺,使得跨平臺的開發成為可能。(c)支持SQL92 標準。(d)提供多種API,大大方便了程序的編寫。(e)具有非常豐富的數據類型。(f)支持 ODBC。(g)可在每次操作過程中混合使用不同數據庫的數據表。由于MySQL在設計上采用了多項革新技術,使它的整體性能比起老的網絡數據庫有了很大的提高。正是由于MySQL 高效的檢索速度和PHP對它無縫的支持,它才越來越成為因特網上數據庫的典范。
三、 安裝與配置過程
----下面著重介紹如何在Linux環境下構建一個Apache+ PHP+MySQL的免費、高效的動態網站開發環境,筆者使用的是TurboLinux4.02(Kernal 2.2.10)操作系統,建議安裝過程按照以下步驟進行(以Root用戶登錄系統):
----1.首先安裝MySQL。軟件可以用ftp或直接從Web網站上下載,MySQL的網址為,中國地區有兩個鏡像站點,分別是 和mysql.netfirm.net,有RPM安裝包或者經過壓縮的源代碼兩種下載方式供選擇。
----如果你要安裝的是RPM安裝包,則至少需要兩個包: The server for i386 systems和Client programs for i386 systems,即分別是MySQL的服務器和客戶端的安裝包。在安裝所在目錄下,鍵入以下命令就可完成安裝過程:
rpm -ivh MySQL-3.xx.xx.i386.rpm
rpm -ivh MySQL-client-3.xx.xx.i386.rpm
其中xx.xx代表的是不同的版本號。
----如果你想要在安裝過程中根據自己的需求進行特殊的設置,那就需要安裝源代碼,然后再編譯和安裝。
----首先進入MySQL-3.xx.xx.i386.tar.gz源代碼包所在的目錄,鍵入以下命令解開文件包:
tar -zxvf mysql-3.xx.xx.tar.gz
----這時在當前目錄下自動建立了一個mysql-3.xx.xx子目錄,并把解開的所有文件都放在這個子目錄下。
cd mysql-3.xx.xx
----進入這個目錄后,鍵入:
./configure -help 察看配置文件的配置說明。
以下舉例說明幾個選項參數:
./configure --prefix=xx
指定獨立文件的安裝路徑,默認為/usr/local/
./configure --exec-prefix=xx
指定附屬文件的安裝路徑
./configure --with-tcp-port=xx
指定TCP的SOCKET端口,默認為3306
./configure --enable-large-files
支持大文件
./configure --without-server
只建立客戶端系統
./configure --with-charset=xx
指定字符集
./configure --with-debug
設定MySQL為Debug版本
----配置選項非常豐富,在此不一一列舉,如果你不想進行特別的配置,完全可以按照缺省的設置進行編譯和安裝,鍵入:
./configure --prefix=/usr/local/
進行簡單配置
make 進行編譯
make install 進行安裝
----編譯安裝完成后,運行以下命令建立MySQL的系統表和權限表。
scripts/mysql_install_db
----接下來的工作就是啟動MySQL數據庫服務進程,第一種辦法是使用專門的腳本文件來執行,此文件位于/usr/local/share/mysql/目錄下:
mysql.server start 啟動mysql數據庫服務進程
這時鍵入ps x命令可以看到mysqld進程。
mysql.server stop 停止mysql數據庫服務進程
----第二種辦法是使用MySQL的命令,鍵入:
----safe_mysqld & 此命令在/usr/local/bin/目錄下,命令后加“&"是為了將MySQL置于后臺運行。
----mysqladmin -u root -p password shutdown 此命令停止MySQL數據庫進程,其中-u代表用戶名,-p代表口令。
----在確認mysqld進程存在的情況下,可以對數據庫進行聯結測試,鍵入:
mysql -u root mysql
----如果一切正常,系統會返回:mysql>的命令輸入提示符。另外你也可以使用數據庫查看程序 mysqlshow來查看數據庫當前狀況。
----至此,MySQL的安裝就已經大功告成。
---- 2.安裝Apache服務器和PHP:這兩個軟件可以分別從 和網站上下載得到,同樣你可以下載RPM安裝包,但是由于用RPM安裝是不能進行客戶設置的,我們還以安裝源代碼來說明。另外PHP的最新版本 PHP4已經推出,它在PHP3的基礎上進一步擴展了功能,運行起來更加穩定強大。我們以 PHP3為例說明安裝過程,PHP4的安裝與此類似。
----首先進入源碼所在目錄,鍵入:
tar -zxvf php-3.xx.xx.tar.gz
解開PHP源代碼壓縮文件包
tar -zxvf apache_1.xx.xx.tar.gz
解開Apache服務器壓縮文件包
cd apache_1.xx.xx 進入apache目錄
./configure --prefix=/www/ 進行簡單配置
cd ../php-3.xx.xx 進入PHP目錄
./configure --with-mysql=/MYSQL-PATH
--with-apache=../apache_1.xx.xx --enable
-track-vars 指定MySQL安裝目錄(這里是/usr/local)
和Apache目錄,這樣配置就可以包含對MySQL
數據庫的支持, --enable-track-vars,
選項是把GET/POST/Cookie的跟蹤變量的來源
信息送到相應數組中。
make 編譯源文件
make install 安裝PHP
cd ../apache_1.xx.xx 進入apache目錄
./configure --prefix=/www --activate
-module=src/modules/php3/libphp3.a
----指定Apache的安裝目錄,缺省為/usr/local/,這里指定的是www,并把PHP作為Apache的嵌入模塊,這樣可以提高PHP的執行效率。
make 編譯源文件
make install 安裝Apache服務器
cd ../php3.xx.xx 進入PHP目錄
cp php3.ini-dist /usr/local/lib/php3.ini
拷貝PHP的配置文件
----至此Apache和PHP的安裝就算完成,下一步要修改 Apache和PHP的配置文件,可以用vi或使用Xwindow下的編輯軟件來編輯。PHP的配置文件為/usr/local/lib/php.ini,在此文件的sql項下修改:
mysql.default_port=3306 設置默認端口號
mysql.default_host=localhost 設置主機名
mysql.default_user=root 設置用戶
----Apache的配置文件為/www/conf/httpd.conf,修改 ServerName項如下:
ServerName localhost
----并去掉#AddType application/x-httpd-php3.php3前的 “?!弊⑨?。下一步啟動Apache服務器進程,鍵入:/www/bin/apachectl start,用ps x 命令應該看到httpd進程,終止此進程用apachectl stop命令。
----以上就是MySQL+Apache+PHP三個軟件的全部安裝過程,這只是列舉了典型的安裝實例,你可以根據不同的實際情況選取不同的參數配置,雖然過程稍繁瑣,但是卻增加了系統配置的靈活性。
----最后,可以用PHP3編寫一個簡單的文件來測試系統的運行狀況,舉例如下:(文件名test.php3,放到httpd.conf文件中DocumentRoot項所指定的目錄下)
< ?php
echo“Hello!World."
? >
----調出瀏覽器,地址欄輸入:http:localhostst.php3,如果顯示正常,說明Apache和PHP工作已正常。進一步你還可以進入MySQL,建立一個試驗數據庫表,在PHP3文件中調用專用函數去連接和操縱這個表,以驗證Apache和PHP與 MySQL的連接工作是否正常,具體請參考有關資料。
----在安裝過程如果遇到錯誤,可以查看安裝包所帶的手冊文檔資料,而且、、、 等網站也有比較詳細的安裝指南。
四、小 結
----安裝完以上軟件,就具備了動態網站開發的基本環境,下面就可以充分發揮你的想像力和創造力去體驗自由軟件所帶來的無限魅力。由于自由軟件的自身特點,軟件升級和修改的速度都是非??斓?,開發人員要密切跟蹤技術的發展動態,采用最新的技術開發出動感十足和個性化服務功能強大的網站來。
(作者:夏毅)