實戰:Ubuntu Dapper下架設Tomcat5+MySQL5+JSP

來源:互聯網
上載者:User

轉自:forum.ubuntu.org.cn      作者:Vstar

首先確認已經安照新手設定指南裡(wiki.ubuntu.org.cn裡的新手指南)的方法安裝好了jdk,然後在系統中填加JAVA環境變數
sudo gedit /etc/bash.bashrc
在結尾處增加
export JAVA_HOME=/usr/jvm/java-1.5.0-sun
export JRE=$JAVA_HOME/jre

一、Tomcat
1、安裝
sudo aptitude install tomcat5 tomcat5-admin tomcat5-webapps
2、設定
Tomcat預設的admin和manager帳號是沒有啟用的,可以編輯/usr/share/tomcat5/conf/tomcat-users.xml檔案來啟用

cd /usr/share/tomcat5/conf
sudo gedit tomcat-users.xml

在裡面新增兩個角色admin和manager,增加一個使用者root,密碼為123456(這裡只是例子,使用者名稱和密碼可以自己設),編輯後的檔案為:

引用:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="admin"/>
<role rolename="manager"/>
<user username="root" password="123456" roles="admin,manager"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>


儲存退出,重啟tomcat
sudo /etc/init.d/tomcat5 restart
3、測試
這時在瀏覽器裡開啟http://127.0.0.1:8180,看見頁面就說明Tomcat已經安裝成功了。然後可以點擊左側的Tomcat Administration和Tomcat Manager進行管理員和網站管理頁面。運行首頁裡左側的Examples裡面的執行個體可以測試一下jsp運行情況。
其實我個人覺得添加這個系統管理使用者沒有多大必要,由於許可權,在管理頁面進行的更改重啟後又會消失。因此如果一定要在管理頁面變更,請設定Tomcat目 錄的許可權為所有使用者可寫。即sudo chmod 777 -R /usr/share/tomcat5。個人不推薦這和作法,因為這樣會破壞安全性。推薦使用文本進行配置,會在後面談到。

二、MySQL
1、安裝
sudo aptitude install mysql mysql-admin mysql-client-5.0 mysql-navigator mysql-query-browser mysql-server-5.0
2、測試並建立測試帳號
安裝後進入終端輸入
sudo mysql -uroot
建立一個測試帳號javatest,密碼為javadude,並指定可從任意主機登入,授權這個使用者擁有資料庫javatest的所有許可權。添加一個資料庫javatest

引用:
mysql>GRANT ALL PRIVILEGES ON javatest.* TO javauser@"%" IDENTIFIED BY "javadude";
mysql>create database javatest;


三、安裝JDBC驅動
到http://dev.mysql.com/downloads/connector/j/5.0.html 下載驅動,僅僅解壓其中的mysql-connector-java-5.0.3-bin.jar的檔案,複製到 /usr/share/tomcat5/common/lib下即可。
教育網速度慢的話可以到http://mysql.mirror.edu.cn下載。
四、測試Tomcat+MySQL
添加一個虛擬目錄
cd /usr/share/tomcat5/conf/Catalina/localhost
sudo gedit javatest.xml
添加如下資訊:

引用:
<Context path="/javatest" docBase="javatest" debug="0" reloadable="true"/>


然後進入tomcat5的webapps目錄,添加一個javatest目錄,並在其中添加一個檔案test.jsp
cd /usr/share/tomcat5/webapps
sudo mkdir javatest
sudo gedit test.jsp
編輯裡面的內容為

引用:
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page language="java" %>
<%@ page import="com.mysql.jdbc.Driver" %>
<%@ page import="java.sql.*" %>
<%
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/javatest?user=javauser&password=javadude");
Statement stmt=conn.createStatement();
%>


建議使用這種方法進行測試,當然還有兩種方法可以添加虛擬目錄,一個是編輯conf下的 server.xml把先前javatest.xml中的內容填加server.xml中最末頁的</host>前面。另一種方法是不必建立 javatest目錄,而是將test.jsp打包建立歸檔檔案,並選擇war類型,放到webapps下面,Tomcat會自動安裝名為javatest的虛擬目錄。

註:到目前為止可能會出現幾個問題,一會兒會談到。

接下來重啟Tomcat
sudo /etc/init.d/tomcat5 restart
通常情況的話,這時便已經可以了。開啟瀏覽器,輸入http://127.0.0.1:8180,然後進入Tomcat Manager,可以看到一個名為javatest的目錄,點擊後會看到一個檔案清單,點擊其中的test.jsp。如果看到一個空白頁面,說明正常。這時可以從終端登入mysql,通過命令show processlist;查看當前串連到的使用者資訊。

什嗎?開啟test.jsp時只看到一片錯誤資訊?別急,我說了,這裡可能會遇到幾個問題,如果是通常情況下上面的配置是正確的,就可以看到空白頁面和MySQL下的串連資訊了。不過目前Ubuntu內建的MySQL和Tomcat存在兩個問題(我不知道算不算是BUG),因此連不上很正常。

*問題一:有可能MySQL沒有使用locahost:3306,即127.0.0.1:3306,而是使用的本機IP或其它地址作為串連地址。可以通過telnet 127.0.0.1 3306來測試一下,如果是拒絕串連,就是存在這個問題了,這個和開啟test.jsp裡面的access denied很像。
*問題二:通過/etc/init.d/tomcat啟動tomcat服務時跟本無法串連資料庫,而要通過/usr/share/tomcat/bin/startup.sh來啟動。

找到這個原因非常困難,一直以為問題出在jdbc驅動上,隨即下載添加mysql-connnect,調試,用了一周多的時間,也沒有解決問題。
好了,現在可以解決了。
首先編輯MySQL的設定檔/etc/mysql/my.cnf,將其中bind-address的預設值由本機IP換成127.0.0.1。
然後停止tomcat
sudo /etc/init.d/tomcat stop
再通過startup.sh啟動tomcat
sudo /usr/share/tomcat5/bin/startup.sh
OK,這時開啟瀏覽器,輸入http://127.0.0.1:8180/javatest/test.jsp,按下斷行符號,介面空白。終端下登入mysql,使用show processlist;查看,可以看到一個User為javauser的使用者已經登入。
不過開機會自動運行/etc/init.d下的tomcat5,我一直想找到這個檔案的問題所在並進行修正,不過我對shell編程不是很瞭解。目前的解 決方法,只能是開機時禁止這個檔案的運行,並使用usr/share/tomcat5/bin下的startup.sh啟動伺服器。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.