Thursday, November 27, 2008
实战:Ubuntu Dapper下架设Tomcat5+MySQL5+JSP
http://forum.ubuntu.org.cn/viewtopic.php?f=43&t=24111
最近正在制作一个jsp的Web应用项目,项目组内一共是四个成员,其它成员都是在Windows下工作,只有我在Linux下工作。我的工作就是进行后 期的页面布局和服务器的架设,以及编码的统一(GB2312->UTF-8)。一周前在Windows下tomcat+mysql测试好的几份后台 代码交到了我这里,本来没有在意服务器的架设,以为很简单,没想到怎么安装都是出错。前前后后用了一周多的时间,昨天夜里总算把服务器架起来了。在这里分 享一下经验。
首先确认已经安照新手设置指南里的方法安装好了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(这里只是例子,用户名和密码可以自己设),编辑后的文件为:
保存退出,重启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
三、安装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
添加如下信息:
然后进入tomcat5的webapps目录,添加一个javatest目录,并在其中添加一个文件test.jsp
cd /usr/share/tomcat5/webapps
sudo mkdir javatest
sudo gedit test.jsp
编辑里面的内容为
建议使用这种方法进行测试,当然还有两种方法可以添加虚拟目录,一个是编辑conf下的server.xml把先前javatest.xml中的 内容填加server.xml中最末页的前面。另一种方法是不必创建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启动服务器。
至此,大功告成!
最近正在制作一个jsp的Web应用项目,项目组内一共是四个成员,其它成员都是在Windows下工作,只有我在Linux下工作。我的工作就是进行后 期的页面布局和服务器的架设,以及编码的统一(GB2312->UTF-8)。一周前在Windows下tomcat+mysql测试好的几份后台 代码交到了我这里,本来没有在意服务器的架设,以为很简单,没想到怎么安装都是出错。前前后后用了一周多的时间,昨天夜里总算把服务器架起来了。在这里分 享一下经验。
首先确认已经安照新手设置指南里的方法安装好了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(这里只是例子,用户名和密码可以自己设),编辑后的文件为:
引用:
保存退出,重启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;
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
添加如下信息:
引用:
然后进入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(); %>
<%@ 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中最末页的前面。另一种方法是不必创建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启动服务器。
至此,大功告成!
在Ubuntu Linux下安装Tomcat
http://unix-cd.com/vc/www/22/2008-07/10220.html
对Linux还不是非常熟悉,昨天摸索了一下午,发现在Ubuntu下安装Tomcat并不是很困难,几乎只用apt-get就可以搞定。写在这里记录一下。
首先要确定软件源的设置,打开“System”-“Administration”-“Software Sources”,把它调整成下面这个样子:
把那几项全部选中是个好习惯,省得在apt-get install过程中出现“无法找到软件包”的错误。
接着安装Java环境,直接sudo apt-get install sun-java6-jre sun-java6-jdk就行了,安装完成后建议用
sudo update-alternatives --config java
sudo update-alternatives --config javac
来设置一下默认的Java解释器和编译器,Linux下可能有多个Java环境,我认为还是选择SUN的比较保险。
然后就是Tomcat了:
sudo apt-get install tomcat5.5
完成之后tomcat会自动启动。如果要手工启动/重启/停止Tomcat,建议使用sudo /etc/init.d/tomcat5.5 start | restart | stop,我发现这样并不用像很多网上说的那样需要设置JAVA_HOME之类的环境变量。
Ubuntu下的Tomcat默认端口是8180,而不是Windows下通常的8080。Tomcat启动后,打开 http://localhost:8180/什么都不会看到,因为Ubuntu下的Tomcat并不带示例,当然如果你想安装示例应用,只要安装 tomcat5.5-webapps这个软件包就行了。
打开/etc/tomcat5.5/server.xml,找到
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
这一堆,把port="8180"改成port="8080",重启Tomcat,就会使用8080端口了,这样会习惯一些。
最后还需要设定一下Web根目录。我为了平时的方便,把它指定到了我的用户目录下。在/etc/tomcat5.5/Catalina/localhost/下创建一个xml文件,比如说是ROOT.xml,在里面加上如下的内容:
重启Tomcat,在/home/albert/Programs/JavaEE中写一个test.jsp文件,打开http://localhost:8080/test.jsp测试一下,应该就没问题了。
对Linux还不是非常熟悉,昨天摸索了一下午,发现在Ubuntu下安装Tomcat并不是很困难,几乎只用apt-get就可以搞定。写在这里记录一下。
首先要确定软件源的设置,打开“System”-“Administration”-“Software Sources”,把它调整成下面这个样子:
把那几项全部选中是个好习惯,省得在apt-get install过程中出现“无法找到软件包”的错误。
接着安装Java环境,直接sudo apt-get install sun-java6-jre sun-java6-jdk就行了,安装完成后建议用
sudo update-alternatives --config java
sudo update-alternatives --config javac
来设置一下默认的Java解释器和编译器,Linux下可能有多个Java环境,我认为还是选择SUN的比较保险。
然后就是Tomcat了:
sudo apt-get install tomcat5.5
完成之后tomcat会自动启动。如果要手工启动/重启/停止Tomcat,建议使用sudo /etc/init.d/tomcat5.5 start | restart | stop,我发现这样并不用像很多网上说的那样需要设置JAVA_HOME之类的环境变量。
Ubuntu下的Tomcat默认端口是8180,而不是Windows下通常的8080。Tomcat启动后,打开 http://localhost:8180/什么都不会看到,因为Ubuntu下的Tomcat并不带示例,当然如果你想安装示例应用,只要安装 tomcat5.5-webapps这个软件包就行了。
打开/etc/tomcat5.5/server.xml,找到
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
这一堆,把port="8180"改成port="8080",重启Tomcat,就会使用8080端口了,这样会习惯一些。
最后还需要设定一下Web根目录。我为了平时的方便,把它指定到了我的用户目录下。在/etc/tomcat5.5/Catalina/localhost/下创建一个xml文件,比如说是ROOT.xml,在里面加上如下的内容:
重启Tomcat,在/home/albert/Programs/JavaEE中写一个test.jsp文件,打开http://localhost:8080/test.jsp测试一下,应该就没问题了。