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即可以目錄瀏覽,
<param-name>listings</param-name>
<param-value>true</param-value>
<!-- false disable listings -->
<!-- <param-value>false</param-value>-->
開啟servlet直接訪問功能,把這兩段註釋開啟。
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
2.4 部署一個新專案testApp,去conf/下配置server.xml
<Context path="/testApp" reloadable="true" docBase="E:/testApp"
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
<Context path="/testApp" docBase="E:/testApp"
debug="5" reloadable="true" crossContext="true" workDir="">
<Resource name="jdbc/testApp"
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"/>
</Context>
注意&要寫成& characterEncoding和useUnicode用來解決中文亂碼問題,地版本配置會略有不同。
另外,在專案資料夾下/webapps/testApp/WEB-INF/新建web.xml檔案,新增
<web-app xmlns="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">
<description>MySQL Test App</description>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/testApp</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
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驅動檢查<br>");
try {
Class.forName("com.mysql.jdbc.Driver");
out.println("檢查成功!<br>");
} catch (ClassNotFoundException cnfe) {
out.println("JDBC驅動建立失敗!<br>");
cnfe.printStackTrace();
}
out.println("<br>環境名稱空間檢查<br>");
try {
javax.naming.Context ctx = new javax.naming.InitialContext();
javax.naming.Context envContext =
(javax.naming.Context) ctx.lookup("java:/comp/env");
out.println("檢查成功!<br>");
out.println("<br>查詢資料來源<br>");
// 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("查詢成功!<br>");
// 早期版本可以用BasicDataSource接收以獲得比DataSource介面更具體的資訊,便於錯誤查詢
out.println("<br>檢查資料庫<br>");
Connection conn = ds.getConnection();
DatabaseMetaData metaData = conn.getMetaData();
ResultSet rs = metaData.getCatalogs();
while (rs.next())
out.println(rs.getString(1) + "<br>");
rs.close();
} catch (javax.naming.NamingException e) {
out.println("環境變數上下文建立失敗!<br>");
e.printStackTrace();
} catch (SQLException e) {
out.println("資料庫操作執行失敗!<br>");
e.printStackTrace();
}
%>
2.7 servlet對映,如果你不想通過/servlet/com.file.web.HelloWorld來訪問你的程式,新增對映是好方法,
修改專案資料夾WEB-INFO/web.xml檔案,新增
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>com.file.web.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
這樣就可以通過/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
# 增加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"
<Directory "e:/testApp">
Options Indexes MultiViews
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
重啟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/
通過文件就可以詳細瞭解安裝步驟了,出錯了也好檢查,版本不同配置等難免會有一點不同,這是看官方文件就很重要了。
參考資料:
http://jiarry.bokee.com/2375369.html
http://jiarry.bokee.com/2425368.html
下載文件:
http://jarryli.googlepages.com/Jdk1.6Tomcat6Apache2MySql5Install.txt