近年來Linux在服務器市場占有比例日漸攀升,除了緣于Linux的免費和安全性之外,還因為Linux上的應用服務日益豐富。大部分常見的服務都在Linux上有了較好的解決方案。而對于Intenet上應用最廣泛的Web服務來說,Linux的表現(xiàn)就更為出色。誰也無法說 清Internet上究竟有多少個網(wǎng)站,但在眾多網(wǎng)站中,采用PHP和JSP開發(fā)的網(wǎng)站無疑占居了極大的市場份額。下面就介紹一下如何在Linux上架設支持JSP+PHP+MySQL的Web服務器。 對于Web服務,apache無疑是首選。數(shù)據(jù)庫方面選用MySQL,這對于一般應用也夠了,當然Linux下也可以安裝oracle、DB2等大型數(shù)據(jù)庫,可是它們費用昂貴。至于對于開發(fā)語言的支持,JSP和PHP無疑是當前最主流和應用最廣泛的web開發(fā)語言了。所有這些軟件我們可以從以下網(wǎng)站上找到: Resin:http://www./ 從以上網(wǎng)站下載對應的軟件,筆者下載的軟件如下: mysql-4.0.15.tar.gz 一、安裝MySQL MySQL的安裝比較簡單,但是編譯過程可能有點長,具體步驟如下: # tar -xzpvf mysql-4.0.15.tar.gz 修改/etc/ld.so.conf,在最后加入以下一行: /usr/local/terry_yu/mysql/lib/mysql/lib # ldconfig 用以下命令啟動MySQL /usr/local/terry_yu/mysql/bin/mysqld_safe & 用以下命令修改MySQL的root密碼: /usr/local/terry_yu/mysql/bin/mysqladmin -uroot password abcdefg 用以下命令可以進入MySQL的命令行方式: [root@terry root]# /usr/local/terry_yu/mysql/bin/mysql -uroot -p Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the buffer. mysql> quit 出現(xiàn)以上信息表示MySQL已經(jīng)成功運行了。 二、安裝JDK # chmod 755 j2sdk-1_4_2_01-linux-i586.bin # vi /etc/profile 退出當前登錄的環(huán)境,重新登錄,這樣剛剛設定的環(huán)境變量就會生效,然后用如下命令測試: [root@terry root]# java -version 看到類似信息就表示JDK環(huán)境已經(jīng)好了。其實在上面的/etc/profile中,我們不僅僅設置了JDK的環(huán)境變量,還一并設置了Resin和JDBC的環(huán)境變量,這些都是后面安裝Resin所必需的設定。 三、安裝MySQL的JDBC MySQL的JDBC的相關環(huán)境變量已經(jīng)在前面設置好了,所以余下的只是按以下命令安裝: # tar -xzpvf mysql-connector-java-3.1.0-alpha.tar.gz 四、安裝Apache http://apache./dist/httpd/apache_1.3.28.tar.gz 需要注意的是,編譯apache時候必須加入了DSO支持,如果沒有,請加入 --enable-module=so 選項重新編譯apache # tar -xzpvf apache_1.3.28.tar.gz 察看編譯進apache的模塊: #/usr/local/terry_yu/apache/bin/httpd -l 看到以上的信息表明apache支持DSO方式了。這樣就可以用DSO的方式把php和resin的模塊加進來。 五、安裝PHP 安裝PHP比較簡單,我們先裝PHP。 # tar -xzpvf php-4.3.3.tar.gz 編輯PHP的配置文件是/usr/local/lib/php.ini,將其中的register_globals變量修改成On,默認是Off的。需要將它改成On。否則會出現(xiàn)php不能直接讀不到post或get的數(shù)據(jù)的現(xiàn)象。 編輯Apache的配置文件/usr/local/terry_yu/apache/conf/httpd.conf,在文件結尾加上以下一行: AddType application/x-httpd-php .php .php3 啟動apache: # /usr/local/terry_yu/apache/bin/apachectl start 然后可以用一個簡單的php文件來測試PHP的安裝,這個簡單的PHP文件包含下列一行: <? phpinfo();?> 將其保存為/usr/local/terry_yu/apache/htdocs/info.php,然后在瀏覽器中瀏覽,如果觀看到以顯示有“PHP Version4.3.3”標題的頁面就表示整合PHP與Apache成功了。而且在這個頁面中可以看到與PHP相關的選項,其中應該有關于MySQL的子項,這表明PHP已經(jīng)內置了對MySQL的支持了。這樣就表示PHP+MySQL+Apache的環(huán)境已經(jīng)成功了,接下來是安裝Resin來支持JSP環(huán)境。 六.安裝Resin http://www./download/resin-3.0.3.tar.gz 下載的resin的安裝包解開后應該可以直接單獨運行的。筆者將其解開后放到/usr/local/terry_yu目錄下 # tar -xzpvf resin-3.0.3.tar.gz 啟動resin 如果之前安裝JDK時設置好了相關的環(huán)境變量,就能夠從http://localhost:8080/上能看到resin的頁面,這也就表示單獨的resin運行成功了。然后,為了整合resin和apache,我們需要重新編譯一下,以生成mod_caucho給Apache調用。 # cd /usr/local/terry_yu/resin 修改/usr/local/terry_yu/resin/conf/resin.conf,大約在第159行(安裝的resin版本不同,配置文件的內容可能有所不同),將<document-directory>修改成自己的apache的DocumentRoot的值。 <resin xmlns=http:///ns/resin> ... 修改/usr/local/terry_yu/apache/conf/httpd.conf,在編譯resin時,安裝程序已經(jīng)修改過httpd.conf,不過還不完全正確,應該改成類似以下的配置,如果你完全按本文進行的安裝可以直接復制這些內容: LoadModule caucho_module libexec/mod_caucho.so <IfModule mod_caucho.c> /usr/local/terry_yu/resin/bin/httpd.sh restart 通過瀏覽器去訪問http://localhost/caucho-status/,如果出現(xiàn)以下頁面剛表示resin和apache已經(jīng)成功整合了。
然后再測試一下JSP對數(shù)據(jù)庫的訪問,在/usr/local/apache/htdocs/下面用jsp寫一個簡單的jsp文件來連接本機的MySQL數(shù)據(jù)庫: vi /usr/local/terry_yu/apache/htdocs/testdb.jsp 輸入以下內容,可以直接粘貼: <html> 通過瀏覽器去訪問http://localhost/testdb,如果看到了一個沒有任何錯誤信息的空白頁面,就表示jsp連接本機的MySQL數(shù)據(jù)庫成功了,至此我們就完成了一個支持JSP+PHP+MySQL的Web服務器。 注:以上所有安裝都是在Red Hat Linux9.0上完成的,所使用軟件也均為目前(2003年9月)最新的版本。 本文介紹了如何在Linux上架設同時支持JSP和PHP的Web Server,演示了MySQL、JDK、JDBC、Apache、PHP、Resin的安裝和簡單測試過程。 |
|