Linux下整合Apache+Tomcat+MySQL+PHP

環境與資源下載

操作系統:Linux fedora4                             下載地址:http://fedoraproject.org
JDK: jdk-1_5_0_14-linux-i586.rpm         下載地址:http://java.sun.com/javase/downloads/index.jsp
Tomcat: apache-tomcat-5.5.25.tar.gz     下載地址:http://jakarta.apache.org/tomcat/
Apache:httpd2.2.6.tar.gz                            下載地址:
http://httpd.apache.org/download.cgi
MySQL:MySQL-server-community-5.0.45-0.rhel4.i386.rpm/MySQL-client-community-5.0.45-0.rhel4.i386.rpm    下載地址:http://dev.mysql.com/downloads/mysql/5.0.html#linux-rhel4-x86-32bit-rpms
PHP:php5.2.5.tar.gz                                    下載地址:http://www.php.net

MySQL驅動:mysql-connector-java-5.0.8.tar.gz  下載地址:http://dev.mysql.com/downloads/connector/j/5.0.html
Linux下安裝JDK

(1)把jdk-1_5_0_14-linux-i586.rpm移至/usr/local/java下,然後執行如下命令:

#rpm -ivh jdk-1_5_0_14-linux-i586.rpm

選擇“yes”,直到安裝完畢;

(2)完成後jdk安裝在/usr/local/java/下,打開/etc/profile文件,在最後增加如下內容:

JAVA_HOME=/usr/local/java

export JAVA_HOME

CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export CLASSPATH

PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export PATH

保存,OK,成功,可以開始linux下的java程序開發了。

Linux下安裝Tomcat

1.       將apache-tomcat-5.5.25.tar.gz文件移動至/usr/local/tomcat/

2.       解壓apache-tomcat-5.5.25.tar.gz文件

 在命令行中輸入:

    gunzip  apache-tomcat-5.5.25.tar.gz

    tar xvf    apache-tomcat-5.5.25.tar.gz

3.       進入apache-tomcat-5.5.25/bin文件夾運行./catalina.sh run啓動tomcat

4.       在瀏覽器中輸入http://localhost:8080即可看到tomcat的歡迎畫面了!

Linux下安裝Apache

1.   把tar zxvf httpd-2.2.6.tar.gz移至/opt文件夾下

2.   #  tar zxvf httpd-2.2.6.tar.gz

3.   配置命令:

      #./configure –prefix=/usr/local/apache2.2.6  --with-apr=/usr/local/apr/bin/apr-1-config –with-apr-util=/usr/local/apr/bin/apu-1-config –enable-so --enable-track-vars --enable-cgi --enable-mods-shared=most

   【–enable-so與--enable-mods-shared=most 選項的作用是編譯出大部分可用的so文件 ,so文件爲linux上的動態共享庫】

4.   #make && make install

   【啓動 並測試 /usr/local/apache2.2.6/bin/apachectl –k start  , 將服務納入自啓動

5.   # cp apached  /etc/init.d/apachd

        #chkconfig --add apached

6.    http://localhost/ 看到"It works"證明安裝成功了

 

安裝tomcat connector整合Apache2和Tomcat

Tomcat 本身已經提供了 HTTP 服務,該服務默認的端口是 8080,裝好 tomcat 後通過 8080 端口可以直接使用 Tomcat 所運行的應用程序,你也可以將該端口改爲 80。

既然 Tomcat 本身已經可以提供這樣的服務,我們爲什麼還要引入 Apache 或者其他的一些專門的 HTTP 服務器呢?原因有下面幾個:

1. 提升對靜態文件的處理性能

2. 利用 Web 服務器來做負載均衡以及容錯

3. 無縫的升級應用程序

這三點對一個 web 網站來說是非常之重要的,我們希望我們的網站不僅是速度快,而且要穩定,不能因爲某個 Tomcat 宕機或者是升級程序導致用戶訪問不了,而能完成這幾個功能的、最好的 HTTP 服務器也就只有 apache 的 http server 了,它跟 tomcat 的結合是最緊密和可靠的.

      JK

這是最常見的方式,你可以在網上找到很多關於配置JK的網頁,當然最全的還是其官方所提供的文檔。JK 本身有兩個版本分別是 1 和 2,目前 1 最新的版本是 1.2.26,而版本 2 早已經廢棄了,以後不再有新版本的推出了,所以建議你採用版本 1

編譯安裝:

# tar zxvf  tomcat-connectors-1.2.26-src.tar.gz
# cd tomcat-connectors-1.2.26-src.tar.gz/jk/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs
# make
# cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/

說明:JK的源文件在目錄 tomcat-connectors-1.2.26-src.tar.gz/jk/native 下 ; 

./configure-apxs 選項的作用是 用/usr/apache2/bin/的apxs【apache extension】工具 生成mod_jk.so的共享庫,必須配置;

cp ./apache-2.0/mod_jk.so /usr/local/apache2/modules/  將生成的so文件 考到 Apache2 的modules下面, jk 將作爲apache的mod 的一部分
 


      配置apache2

在/usr/local/apache2/conf/下面建立兩個配置文件mod_jk.conf和workers.properties

# vi mod_jk.conf

添加以下內容:

# 指出mod_jk模塊工作所需要的工作文件workers.properties的位置
JkWorkersFile /usr/local/apache2/conf/workers.properties

# Where to put jk logs
JkLogFile /usr/local/apache2/logs/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# JkOptions indicate to send SSL KEY SIZE,
JkOptions  +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"

# 將所有servlet 和jsp請求通過ajp13的協議送給Tomcat,讓Tomcat來處理
JkMount /servlet/*  worker1
JkMount /*.jsp worker1
 

# vi workers.properties
添加以下內容:

# Defining a worker named worker1 and of type ajp13
worker.list=worker1

# Set properties for worker1
worker.worker1.type=ajp13 
worker.worker1.host=localhost 
worker.worker1.port=8009
worker.worker1.lbfactor=50 
worker.worker1.cachesize=10 
worker.worker1.cache_timeout=600 
worker.worker1.socket_keepalive=1 
worker.worker1.socket_timeout=300
 

 

配置httpd.conf,作以下修改:
在DirectoryIndex中添加 index.jsp
我的網頁放在/var/wwwroot下,所以要修改DocumentRoot

DocumentRoot "/var/wwwroot"
<Directory "/var/wwwroot">
    Options Includes FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    XBitHack on
</Directory>
<Directory "/var/wwwroot/WEB-INF">    
    Order deny,allow
    Deny from all
</Directory>
 


增加關於加載mod_jk的語句:

LoadModule jk_module modules/mod_jk.so
Include /usr/local/apache2/conf/mod_jk.conf
 


最後編輯Tomcat的配置文件server.xml,在HOST段中加入:

<Context path="" docBase="/var/wwwroot" debug="0" reloadable="true" crossContext="true"/>
 


在/var/wwwroot下建立一個index.jsp,啓動Apache和Tomcat,用瀏覽器訪問http://localhost/,應該可以看到正確的頁面了。

 Linux下安裝MySQL

首先,默認Linux操作系統都會安裝MySQL,rpm -qa | grep "*mysql*"可以檢查mysql是否已經安裝,如果安裝過mysql,需要先卸載,用rpm -e MySQL-server可卸載MySQL-server,同樣還要卸載MySQL-client,如果出現依賴包錯誤,可以使用--nodeps參數來卸載。

卸載結束後安裝mysql-server和mysql-client的rpm包

開始安裝:

  1)安裝服務器端

  在有兩個rmp文件的目錄下運行如下命令:

  [root@test1 local]# rpm -ivh MySQL-server-community-5.0.45-0.rhel4.i386.rpm

  顯示如下信息。

  Preparing...       ########################################### [100%]

  1:MySQL-server     ########################################### [100%]

  。。。。。。(省略顯示)

  /usr/bin/mysqladmin -u root password 'new-password'

  /usr/bin/mysqladmin -u root -h test1 password 'new-password'

  。。。。。。(省略顯示)

  Starting mysqld daemon with databases from /var/lib/mysql

  如出現如上信息,服務端安裝完畢。測試是否成功可運行netstat看Mysql端口是否打開,如打開表示服務已經啓動,安裝成功。Mysql默認的端口是3306。

  [root@test1 local]# netstat -nat

  Active Internet connections (servers and established)

  Proto Recv-Q Send-Q Local Address      Foreign Address     State

  tcp  0  0 0.0.0.0:3306     0.0.0.0:*      LISTEN

  上面顯示可以看出MySQL服務已經啓動。

  2)安裝客戶端

  運行如下命令:

  [root@test1 local]# rpm -ivh MySQL-client-community-5.0.45-0.rhel4.i386.rpm

  Preparing...    ########################################### [100%]

  1:MySQL-client  ########################################### [100%]

  顯示安裝完畢。

  用下面的命令連接mysql,測試是否成功。

  登錄MySQL

  登錄MySQL的命令是mysql, mysql 的使用語法如下:

  mysql [-u username] [-h host] [-p[password]] [dbname]

  username 與 password 分別是 MySQL 的用戶名與密碼,mysql的初始管理帳號是root,沒有密碼,注意:這個root用戶不是Linux的系統用戶。MySQL默認用戶是root,由於初始沒有密碼,第一次進時只需鍵入mysql即可。

  [root@test1 local]# mysql

  Welcome to the MySQL monitor. Commands end with ; or g.

  Your MySQL connection id is 1 to server version: 4.0.16-standard

  Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

  mysql>

  出現了“mysql>”提示符,恭喜你,安裝成功!

    如果網上找不到rpm包,可以找來最新的redhat程序光盤,裏面找一下,一般都有最新的mysql版本的rpm包,當然用戶也可以下載tar.gz進行編譯安裝,要注意的是編譯tar.gz時,默認不會安裝GBK字符集,所以在編譯過程中一定要注意
       # groupadd mysql
       # useradd -g mysql -d /usr/local/mysql/data -M mysql
       # tar -zxvf mysql-5.0.27.tar.gz
       # cd mysql-5.0.27
      ./configure --prefix=/usr/local/mysql / 指定安裝目錄
       > --sysconfdir=/etc / 配置文件的路徑
       > --localstatedir=/usr/local/mysql/data / 數據庫存放的路徑
       > --enable-assembler / 使用一些字符函數的彙編版本
       > --with-mysqld-ldflags=-all-static / 以純靜態方式編譯服務端
       > --with-charset=GBK / 添加GBK字符支持
       > --with-extra-charsets=GBK /添加GBK字符集
       > --with-extra-charsets=all /添加所有字符支持

       # make
       # make install
       # /usr/local/mysql/bin/mysql_install_db
       # chown -R mysql:mysql /usr/local/mysql/data
       # cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql
       # chkconfig --add mysql
       # cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf

       上面是詳細的安裝過程,如果需要,可以再到網上搜索一下相關的安裝教程。

       mysql5安裝好後,需要進入mysql控制檯,使用命令:SHOW CHARACTER SET;查看當前安裝的所有字符集,仔細看一下有沒有GBK,如果沒有,那麼只有重新安裝,編譯tar.gz時一定要加上上面的編譯參數,直到這個命令顯示出,安裝了GBK字符集。再用命令:SHOW VARIABLES LIKE 'character_set_%';
   如果character_set_database和character_set_server不是gbk,那麼需要修改my.cnf,有些rpm安裝後沒有my.cnf,就vi /etc/my.cnf新建一個,修改下面的選項:
[mysqld]
   default-character-set=gbk
 保存重啓,再用命令檢查字符集是否正確。

 下面再講一個錯誤的修復。
 我們發現,在RedHat Linux平臺上,設置localhost上可以訪問mysql的用戶在JDBC中
 不能正確連接數據庫,表現爲Access denied...
 這是RedHat Linux的一個問題,可以參考下面的解決步驟:
  1.su爲root,vi /etc/hosts
    2.刪掉localhost後面多餘的東西
  3./etc/hosts看上去應該像下面這樣

   127.0.0.1 localhost

   保存修改,重新啓動數據庫。
 MySQL的配置文件一般是/etc/my.cnf,可以適當修改。

Linux 下安裝mysql驅動

 

安裝步驟:

 

1.  進入資源包縮在目錄,解壓。

2.  # tar –zxvf  mysql-connector-java-5.0.8.tar.gz

3.  # cp ./ mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar /usr/local/tomcat/apache-tomcat-5.5.25/common/lib/

注:最好也複製一份到自己的jsp文件目錄中WEB-INF/lib

4.  修改/etc/profile文件

CLASSPATH中追加:/usr/local/tomcat/apache-tomcat-5.5.25/common/lib/mysql-connector-java-5.0.8-bin.jar:.(把驅動文件的路徑追加到CLASSPATH)

5.  寫測試文件(注意修改自己的用戶名和密碼)

<%@ page contentType="text/html;charset=gb2312"%>

 <%@ page import="java.sql.*"%>

 <html>

 <body>

 <%Class.forName("org.gjt.mm.mysql.Driver").newInstance();

 String url ="jdbc:mysql://localhost/mysql?user=root&password=root&useUnicode=true&characterEncoding=UTF-8";

 Connection conn= DriverManager.getConnection(url);

 Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

 String sql="show tables";

 ResultSet rs=stmt.executeQuery(sql);%>

 <%while(rs.next()) {%>

 <%=rs.getString(1)%>

 <br>

 <%}%>

 <%rs.close();

 stmt.close();

 conn.close();

 %>

 </body>

 </html>

      6.  重啓Tomcat完成安裝,在ie中瀏覽一下結果

Linux下安裝PHP5
    下載php的for Linux 的源碼包存至/opt/php目錄

  命令列表:

  cd /opt/php

  tar -zxvf php-5.0.45.tar.gz

  mv php-5.0.45 php

  cd php

  ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql

  make

  make install

  其中apache和mysql是根據你安裝的目錄名變,我的是 =/usr/local/apache2/bin/apxs 和MySQL

  cp php.ini-dist /usr/local/lib/php.ini

  以dso方式安裝php至/usr/local/php 設置配置文件目錄爲/usr/local/lib 開啓mysql,xml支持

  3.配置

  vi /usr/local/apache/conf/httpd.conf

  對apache做如下配置

  #將ServerAdmin mailto:[email protected]一行改爲您的郵箱地址

  #DocumentRoot "/home/httpd/html/" 此處爲html文件主目錄

  # 同上

  #Options FollowSymLinks MultiViews 爲安全起見,去掉"Indexes"

  #

  # DirectoryIndex default.php default.phtml default.php3 default.html default.htm

  #

  #設置apache的默認文件名次序

  #AddType application/x-httpd-php .php .phtml .php3 .inc

  #AddType application/x-httpd-php-source .phps

  #設置php文件後綴

  存盤退出

  vi /usr/local/lib/php.ini

  #register-golbals = On

    include_path = ".:/php/includes" //開啓

    extension=msql.so//開啓

  存盤退出

  4.啓動服務

  /usr/local/apache/bin/apachectl start

  5.測試

  然後寫個php測試頁info.php:內容如下

  〈?php

  phpinfo();

  ?>

  正常的話,應該能看到php的信息了,恭喜你的Apche+Mysql+PHP安裝成功。

  6、apache自動啓動- -

  下面用自啓動apache爲例;

  自啓動腳本:

  /usr/local/apache/bin/apachectl start

  文件位於/etc/rc.d/init.d下,名爲apached,注意要可執行.

  #chmod +x /etc/rc.d/init.d/apached //設置文件的屬性爲可執行

  #ln -s /etc/rc.d/init.d/apached /etc/rc3.d/S90apache //建立軟連接,快捷方式

  #ln -s /etc/rc.d/init.d/apached /etc/rc0.d/K20apache

至此,你的系統就可以同時跑jsp和php了!配置的過程中也許會出現如下問題,後面慢慢總結!!!:)祝大家一起好運吧
 

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