Jdk1.6+Tomcat6+Apache2+MySql5 安裝(Windows版)

軟件下載:
1, j2se jdk1.6
http://java.sun.com/javase/downloads/index.jsp


2, Tomcat 6
http://archive.apache.org/dist/tomcat/tomcat-6/


3, Apache 2.2.4
http://archive.apache.org/dist/httpd/


4, MySql5.0.27
http://dev.mysql.com/downloads/mysql/


5, mysql-connector-java-5.0.5
http://dev.mysql.com/downloads/connector/j/


6,mod_jk-apache-2.2.4.so
http://tomcat.apache.org/download-connectors.cgi


 可以根據需要下載最新的或最穩定的版本,如果部署線上環境可以用穩定的版本,
 但是如果在學習和調試,可以嘗試新的版本,因爲事物是向前發展的。


 一般網頁程序或服務,如果不是非常巨大,用Tomcat做Web server就可以了,沒有必要整合apache+tomcat。
 當然如果確實有必要,比如要把靜態文件(html,圖片等)和Java文件分別由apache和tomcat來解析,
 或者爲了學習、測試、以及還要運行php等等情況,可以考慮整合下apache + tomcat。


 如果只需要JSP網頁服務器的,只要安裝JDK+Tomcat就可以了,安裝過程非常簡單。


                                               http://jiarry.blogchina.com/


================================================================================


安裝過程
本篇安裝介紹下載文檔:
http://jarryli.googlepages.com/Jdk1.6Tomcat6Apache2MySql5Install.txt



Step 1 JDK安裝
----------------------------------------------------------------------------------
 1.1 點擊jdk-6u1-windows-i586-p.exe文件安裝Jdk,選擇目錄(假使E:/jdk1.6),一路回車,安裝完成
 1.2 添加JAVA環境變量(我的電腦右鍵->屬性->高級->環境變量->系統變量)
        CLASSPATH   設置變量值  .;%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar
        JAVA_HOME   設置變量值  E:/jdk1.6
        PATH        設置變量值  .;%JAVA_HOME%;%JAVA_HOME%/bin;
 1.3 在DOS命令行狀態下測試Java是否成功安裝,敲入java -version可以查看版本
     c:/>java -version
     java version "1.6.0_01"
     Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
     Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)
 1.4 測試HelloWorld,新建一個HelloWorld.java的文件,內容如下
     public class HelloWorld {
        public static void main(String arg[]) {
           System.out.println("Hello World!這是Java測試程序,說明你已成功安裝了Java -- Jarry!"); 
        }
     }
     在命令行輸入javac HelloWorld.java,編譯一下,然後再執行java HelloWorld,就能看到正常的輸出了。
     出現錯誤一般是環境變量或大小寫等有問題,仔細檢查就沒有問題了。     



Step 2 Tomcat安裝
----------------------------------------------------------------------------------
 2.1 點擊apache-tomcat-6.0.10.exe文件安裝Tomcat,選擇目錄(假使E:/Tomcat6)安裝完成後
 2.2 添加TOMCAT環境變量(我的電腦右鍵->屬性->高級->環境變量->系統變量)
         TOMCAT_HOME   設置變量值  E:/Tomcat6
 2.3 從程序菜單或是服務裏啓動Tomcat,然後你在瀏覽器輸入http://localhost:8080/就可以看到Tomcat歡迎頁面。
     正常情況下都會成功,如果啓動失敗,請檢查jakarta_service_日期.log日誌,通過它一般可以解決問題。
 
     比如出現類似報錯:
     [947  prunsrv.c] [error] Failed creating java
     看一下系統盤windows/system32/下是否丟失msvcr71.dll文件,如果缺失,需要從別的機器拷貝一個過來。


     打開瀏覽器 進入http://localhost:8080/,當看見Tomcat小貓的圖標了,這樣表示安裝成功。


    至此,JSP服務器就搭建完成了,用於學習和測試沒有問題了,如果想要更高級的配置,可以往下面繼續看。


 Tomcat 6與Tomcat 5或者之前版本不一樣的就是,首頁沒有顯示具體的版本,貓貓也變大了些。
 沒有admin管理頁面了,admin在Tomcat 5.5來默認都沒有了,不過可以下載admin包。
 而Tomcat 6.0沒有看見admin包,不過這並不要緊,一般情況下也不需要admin包。


 Tomcat 6.0默認也沒有開啓servlet、禁止目錄瀏覽。這需要去conf/下配置web.xml文件。
 修改listings爲true即可以目錄瀏覽,

            listings
            true
           
           
         


  開啓servlet直接訪問功能,把這兩段註釋打開。
 
   
        invoker
       
          org.apache.catalina.servlets.InvokerServlet
       
       
            debug
            0
       
        2
   


 
        invoker
        /servlet/*
   

    

 
 2.4 部署一個新項目testApp,去conf/下配置server.xml
 
        workDir="E:/Tomcat6/webapps/testApp/work" />
   
    docBase是你程序的目錄,假設放在E根目錄下
    這樣新項目testApp就建立了,重啓Tomcat,訪問http://127.0.0.1:8080/testApp就可以看到你的目錄了


 2.5 mysql-java連接器
     下載mysql java連接器,可以根據需要選擇3.x 或是 5.x,之前我們通用3.x,現在可以試一下5.x
     http://dev.mysql.com/downloads/connector/j/
     將下載下來得 mysql-connector-java-5.0.5-bin.jar 文件放到 Tomcat6/commom/lib目錄下
     (Tomcat 6.0 修改了目錄結構,原common/lib下的所有jar包現在統一到lib目錄下,
     因此你需要將你原來放置在common/lib目錄下的jar改到lib目錄下。)


 2.6 JDBC數據庫連接池,假設已經安裝了mysql(沒安裝就先安裝),並且建立了數據庫test, 修改conf/下server.xml


          debug="5" reloadable="true" crossContext="true"  workDir="">
               auth="Container"
    type="javax.sql.DataSource"
             maxActive="100" maxIdle="30" maxWait="10000"
             username="root" password=""
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf-8"/>
  

 
  對應輸入端口和用戶名密碼,還要注意&要寫成& characterEncoding和useUnicode用來解決中文亂碼問題,地版本配置會略有不同。
 
   另外,在項目文件夾/webapps/testApp/WEB-INF/下新建web.xml文件,添加下面的內容
  
 http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
  MySQL Test App
    
      DB Connection
      jdbc/testApp
      javax.sql.DataSource
      Container
 
 
 
 2.7  建立JDBCtest.jsp,可以來檢測JDBC連接是否成功
    
 <%@ page
     language="java"
     contentType="text/html; charset=GB2312"
     pageEncoding="GB2312"
     %>
     <%@ page import="java.sql.*"%>
     <%@ page import="javax.sql.*"%>
     <%@ page import="javax.naming.*"%>
     數據庫連接池測試結果:
     <%
     out.println("JDBC驅動檢查
");
     try {
      Class.forName("com.mysql.jdbc.Driver");
      out.println("檢查成功!
");
     } catch (ClassNotFoundException cnfe) {
      out.println("JDBC驅動創建失敗!
");
      cnfe.printStackTrace();
     }
    
     out.println("
環境命名空間檢查
");
     try {
  &nbs;   javax.naming.Context ctx = new javax.naming.InitialContext();
      javax.naming.Context envContext =
       (javax.naming.Context) ctx.lookup("java:/comp/env");
      out.println("檢查成功!
");
      
      out.println("
查找數據源
");
      
     // org.apache.commons.dbcp.BasicDataSource ds =
     //   (org.apache.commons.dbcp.BasicDataSource) envContext.lookup("jdbc/testApp");
       DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/testApp");
      out.println("查找成功!
");
     // 早期版本可以用BasicDataSource接收以獲得比DataSource接口更具體的信息,便於錯誤查找
      
      out.println("
檢查數據庫
");
      Connection conn = ds.getConnection();
      DatabaseMetaData metaData = conn.getMetaData();
      ResultSet rs = metaData.getCatalogs();
      while (rs.next())
      out.println(rs.getString(1) + "
");
      rs.close();
     } catch (javax.naming.NamingException e) {
      out.println("環境變量上下文創建失敗!
");
      e.printStackTrace();
     } catch (SQLException e) {
      out.println("數據庫操作執行失敗!
");
      e.printStackTrace();
     }
   %>

  2.7 servlet映射,如果你不想通過/servlet/com.file.web.HelloWorld來訪問你的程序,添加映射是好方法,
  修改項目文件夾WEB-INFO/web.xml文件,添加
 
 
    HelloWorld
    com.file.web.HelloWorld
 
 
    HelloWorld
    /hello
 

 
  這樣就可以通過/hello來訪問servlet程序。



Setp 3  Apache安裝
----------------------------------------------------------------------------------


 3.1 Apache 一路回車安裝即可
     敲入http://127.0.0.1/就能看見歡迎界面。
     歡迎界面與2.0.x或者1.x不一樣,你看見的將是 It works!, 而不再是,您能看見這個頁面,說明您已經成功安裝之類的。


 3.2 連接apache 與 tomcat,通過apache來解析靜態文件,tomcat解析java確實不錯。
     如果你打算只用Tomcat做服務器的話,那就不用安裝apache了,實際上Tomcat作爲服務器也非常好。
     當然了,整合apahce + tomcat 也不麻煩,主要是下載mod_jk.so文件,和增加兩個配置文件。
 
     3.2.1 下載 mod_jk.so (http://mirrors.ibiblio.org/pub/mirrors/apache/tomcat/tomcat-connectors/)
           參閱文章: http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html
                      http://tomcat.apache.org/connectors-doc/reference/workers.html
           這裏使用的是jk而不是jk2,下載得到的是mod_jk-apache-2.2.4.so文件,可以根據apache版本來選擇合適的。
           將下載文件copy至Apache的modules目錄下
           
    3.2.2 新建workers.properties,便於管理就在apache2/conf下,加入下面內容
   
          JkAutoAlias E:/Tomcat6/webapps     #tomcat絕對路徑webapps目錄
          JkMount /*.jsp ajp13
          JkMount /*/servlet/ ajp13
  
  
    3.2.3  新建mod_jk.conf文件,也放在apache2/conf目錄下,加入下面內容
          # Load mod_jk module
          LoadModule jk_module modules/mod_jk-apache-2.2.4.so
         
          # Where to find workers.properties
          JkWorkersFile conf/workers.properties
         
#對剛新建的workers.properties文件
         
          # Where to put jk logs
          JkLogFile 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"
         
          # Send servlet for context /examples to worker named ajp13
          JkMount /servlet/* ajp13    
          # Send JSPs for context /examples to worker named ajp13
          JkMount /*.jsp ajp13
          JkMount /*.do ajp13
         
        &nsp; # 增加testApp目錄,把改目錄下所有文件全部交給tomcat處理,
          # JkMount /testApp/* ajp13
          # 也可以根據需要來設定,比如只把testApp/*.jsp交給tomcat處理
          JkMount /testApp/*.jsp ajp13
    
   3.2.4  修改conf/httpd.conf文件,把mod_jk.conf文件include裝載進來,添加如下
         
          Include conf/mod_jk.conf
          #jarry add for contact to tomcat 
         
          給apache添加testApp目錄
         
          #添加testApp
          Alias  /testApp  "e:/testApp"
           
                  Options  Indexes  MultiViews 
              Options Indexes FollowSymLinks Includes ExecCGI
                  AllowOverride  None          
                  Order  allow,deny   
                  Allow  from  all   
                   
         
          重啓apache,
          通過http://172.18.101.17:8080/testApp/http://172.18.101.17/testApp/
          都能訪問Tomcat項目,說明整合成功。
          也可以建立一個jsp文件來測試,如果不用8080端口能直接解析,那說明整合成功。  
          如果出現問題注意查看,apache/logs/下的log文件,仔細對照,一般就能解決啦。             
                                   


Setp 4 MySql安裝
----------------------------------------------------------------------------------


 MySql與Apache一樣,一路回車即可。
 MySql5.x 與 4.x 安裝區別不大,5.x會提示配置Mysql一些屬性,諸如語言啦。根據需要設定即可。
 啓動通過mysql/bin下鍵入 mysql -uroot -p或者從菜單欄MySQL Command Line Client進入到命令行。
     4.1 從程序菜單找到mysql命令行或在mysql/bin目錄下,執行mysql -uroot -p密碼就可以進入mysql
     Enter password:
     Welcome to the MySQL monitor.  Commands end with ; or /g.
     Your MySQL connection id is 42 to server version: 5.0.27-community-nt
    
     Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
    
     mysql>

    
     4.2 敲入 /s 可以查看MySql版本信息
     mysql> /s
     --------------
     E:/MySQL5/bin/mysql.exe  Ver 14.12 Distrib 5.0.27, for Win32 (ia32)
    
     Connection id:          42
     Current database:
     Current user:          
root@localhost
     SSL:                    Not in use
     Using delimiter:        ;
     Server version:         5.0.27-community-nt
     Protocol version:       10
     Connection:             localhost via TCP/IP
     Server characterset:    gbk
     Db     characterset:    gbk
     Client characterset:    gbk
     Conn.  characterset:    gbk
     TCP port:               3306
     Uptime:                 2 days 4 hours 52 min 9 sec
    
     Threads: 2  Questions: 382  Slow queries: 0  Opens: 28  Flush tables: 1  Open ta
     bles: 0  Queries per second avg: 0.002

    
    
================================================================================


總的說來,安裝新版與老版本差不多,只是一時兼容性不是太好。
不過用來開發和學習,使用新版還是挺不錯的,可以學到新的方法和東西,新版本整合更容易些
而如果部署對外的服務,還是採用經典或是成熟的版本吧。:)
安裝過程要多看apache官方網站的文檔,http://tomcat.apache.org/tomcat-6.0-doc/
通過文檔就可以詳細瞭解安裝步驟了,出錯了也好檢查,版本不同配置等難免會有一點不同,這是看官方文檔就很重要了。


參考資料:
安裝Jdk+Tomcat+Apache+PHP+MySql (Windows) 詳細介紹 http://jiarry.bokee.com/2375369.html
安裝Jdk+Tomcat+Apache+PHP+MySql (Linux) 詳細介紹 http://jiarry.bokee.com/2425368.html

下載文檔:
http://jarryli.googlepages.com/Jdk1.6Tomcat6Apache2MySql5Install.txt







補充一下之前的一些記錄:


置apache與php與tomcat,讓apache支持php與jsp,servlet,這樣強壯的apache做爲web
server,專門來運行強大的網站,所以文件放到E:/Apache2/htdocs下即可。當然tomcat還是可以當獨用的,只不過用來開發或測試
還是不錯的,如果作爲網站來發布還是用apache這種方式好。這下,apache才發揮出功效來。呵呵。

下載並正確裝apache好jdk、tomcat,開始整合apahce+tomcat
修改apache/conf/下的httpd.conf文件添加如下內容,以支持jsp與php


1,拷貝mod_jk_2.0.46.dll文件到E:/Apache2/modules目錄下
2,修改http.conf文件,添加如下jk模塊內容
LoadModule jk_module modules/mod_jk_2.0.46.dll
# 或者.so文件
#裝載mod_jk模塊,用於處理Apache和Tomcat的連接
JkWorkersFile "E:/Apache/conf/workers.properties"
#指出mod_jk模塊工作所需要的工作文件workers.properties的位置
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
#將所有servlet 和jsp請求通過Ajp13的協議送給Tomcat,讓Tomcat來處理
JkLogFile "E:/Apache/logs/mod_jk2.log"
JkLogLevel info


3,支持php,根據目錄修改文件。
#jarry added for php
ScriptAlias /php/ "E:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"
AddType application/x-httpd-php .php .phtml .php3 .php4
AddType application/x-httpd-php-source .phps


4,將以下內容存成workers.properties文件至apache/conf下。
# Created by JarryLi
# Copyright all reserved!
# Email:[email protected]


 # 根據現行安裝目錄做修改
workers.tomcat_home=E:/Tomcat5
 #讓mod_jk模塊知道Tomcat
workers.java_home=E:/j2sdk1.4
 #讓mod_jk模塊知道j2sdk
ps=/
worker.list=ajp13
 #模塊版本,現有ajp14了,不要修改
worker.ajp13.port=8009
 #工作端口,若沒佔用則不用修改
worker.ajp13.host=localhost
 #本機,若上面的Apache主機不爲localhost,作相應修改
worker.ajp13.type=ajp13
 #類型
worker.ajp13.lbfactor=1
 #代理數,不用修改
 
5,訪問apache下的一個目錄,試試訪問php文件和jsp,如果均能訪問表示正確。如有問題,請仔細檢查log文件,一般都能解決。

或者





1、exe安裝
2、選擇目錄
3、修改http.conf文件,增加目錄
4、開啓目錄瀏覽,其他index文件瀏覽等功能
5、添加php



# 加載tomcat支持 added by jarry
# LoadModule jk2_module modules/mod_jk2.so


# For PHP 5 do something like this:
# LoadModule php5_module "E:/PHP/php5apache2.dll"
# AddType application/x-httpd-php .php .php3 .phps
# configure the path to php.ini
# PHPIniDir "E:/php"


# 添加php #修改爲自己安裝目錄下的php*.exe。 added by jarry
ScriptAlias /php/ "E:/PHP/"
Action application/x-httpd-php "/php/php-cgi.exe"
#Action application/x-httpd-php "/php/php.exe"
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps


6、整合apache+tomcat


[Sat Jun 23 20:01:23 2007] [error] [client 127.0.0.1] client denied by server configuration: E:/PHP/php-cgi.exe, referer: http://127.0.0.1/phpApp/

    Options FollowSymLinks
    AllowOverride None
#    Order deny,allow
#    Deny from all
    Order allow,deny
    Allow from all
    Satisfy all


把配置文件改改,是apache 2.2.2的配置文件問題。


7、php.ini可以放在windows或者php根目錄下


8、添加虛擬目錄
Alias /ut    "E:/ut"

    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all



10、整合apache2.2.2 + tomcat 5.5.16 mod_jk-apache-2.x.x.so


10.1
下載 mod_jk-apache-2.2.4.so,把so文件放到apahce modules文件夾下
http://mirrors.ibiblio.org/pub/mirrors/apache/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.23/


10.2
apahce/con/下新建 workers.properties 文件
添加內容
workers.tomcat_home=E:/Tomcat5.5     #讓mod_jk模塊知道Tomcat的位置
workers.java_home=E:/Jdk1.5          #讓mod_jk模塊知道jre的位置
ps=/
worker.list=ajp13                     #模塊版本
worker.ajp13.port=8009                #工作端口,若沒佔用則不用修改
worker.ajp13.host=localhost           #本機,若上面的Apache主機不爲localhost,作相應修改
worker.ajp13.type=ajp13               #類型
worker.ajp13.lbfactor=1               #代理數,不用修改


或者是


JkAutoAlias E:/Tomcat5.5/webapps     #tomcat的絕對路徑webapps目錄
JkMount /*.jsp ajp13
JkMount /*/servlet/ ajp13



10.3
修改apahce/con/httpd.conf,在末尾添加, 或者把這些放入到新建mod_jk.conf文件裏,在通過httpd.conf裝載進來(Include conf/mod_jk.conf)。


LoadModule jk_module modules/mod_jk-apache-2.2.4.so
#此處mod_jk的文件爲你下載的文件
JkWorkersFile "E:/Apache2/conf/workers.properties"
#指定tomcat監聽配置文件地址
JkLogFile "E:/Apache2/conf/mod_jk.log"
# 記錄日誌的工作級別
JkLogLevel info
# 將所有servlet 和jsp請求通過Ajp13的協議送給Tomcat,讓Tomcat來處理
JkMount /*/servlet/* ajp13
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13



10.4
在testApp目錄下分別建立php,jsp,serlvet文件測試,如果都能解析說明成功。


另附:
Tomcat6在JDK1.6下不能啓動
以及Tomcat5在JDK1.6下不能啓動的解決:


Tomcat6在JDK1.6下不能啓動的解決[轉]



    今天在一臺新的機器上, 裝開發環境, 下載了新的JDK1.6和Tomcat6. 安裝完畢後, Tomcat無法正常啓動,
在Tomcat的Logs中發現有以下錯誤:

 javajni.c] [error] The specified module could not be found.

到底是怎麼回事呢?
因爲是模塊加載的問題, 所以拿出從systeminternals下載的FileMon來監測到底是哪個東西加載失敗了.
啓動FileMon,
然後, 嘗試啓動Tomcat, 結果當然是失敗了.
然後在FileMon中過濾一下, 很快就找到了一個錯誤: MSVCR71.dll, 這個動態鏈接庫加載失敗.
經過搜索後發現在JDK的bin目錄下有這個文件.
將其複製到system32目錄下, 然後再啓動Tomcat, 果然成功了!

這個問題可能和jakarta_servic加載動態鏈接庫的LOAD_WITH_ALTERED_PATH選項有關.


 

發佈了141 篇原創文章 · 獲贊 5 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章