Linux:安装Tomcat服务器,开发JSP
2008-11-14 21:37
344 查看
我假设你使用Debian3,如果你使用其他的Linux版,可能会有安装方法和设置路径上的区别。
1,安装J2SDK
1.1 使用Debian源里的安装包
以root 身份运行apt-get install
sun-j2sdk1.4,这样将安装sun的j2sdk1.4。然后输入java如果你看到的不是command not
found,就表示你已经安装正确了。否则搜索是否有java和javac两个文件,我的在/usr/lib/j2sdk1.4-sun/bin下,如果
有就创建链接到/usr/bin下,连接名与原文件名一样。
1.2 使用sun网站上的安装包
具体方法参考sun网站上的安装说明。也可以参考我的做法(图形界面操作):
下载正确的压缩包后解压,一般得到类似名为jdk1.x.x的文件夹。将整个文件夹
移动到/usr/lib目录下,然后进入 jdk.1.x.x/bin下的java, javac, javadoc,
jar四个可执行文件创建链接,然后复制到/usr/bin文件夹下,并且改名为与原文件相同。这样做的原因是一般/usr/bin是$PATH环境变量
的一部分,以后你想运行javac命令编绎一个.java源文件时,只需要输入javac
filename就行了,而不需要输入javac文件所在的完整路径。
JAVA_HOME环境变量可以不设置,因为据我的使用经验,java,javac等jdk的程序知道在哪里找到自己的家。当某个程序需要JAVA_HOME环境变量,我们再在它的启动脚本中设置。因为使用JAVA_HOME环境变量的程序很少。
2,安装Tomcat
从http://tomcat.apache.org/网站上下载tomcat for Linux。网站上有不同版本的源码包和二进制包等,而二进制包又有core,deployer,embedded三种。我使用tomcat5.28二进制包中的core。
下载jakarta-tomcat-5.0.28.tar.gz解压,将得到jakarta-tomcat-5.0.28文件夹,我把它改名为tomcat5,把它拷贝到你喜欢的地方。我放在/usr/share/下。
2.1 试运行tomcat
在终端中输入/usr/share/tomcat5/bin/startup.sh,将启动tomcat。然后你在浏览器中输入http://localhost:8080或者http://127.0.0.1:8080你就看到tomcat产生的页面了。
运行/usr/share/tomcat5/bin/startup.sh出错?试运行:
JAVA_HOME=/usr/lib/j2sdk1.4_sun #这里的路径是你的j2sdk的安装路径
export JAVA_HOME
/usr/share/tomcat5/bin/startup.sh
2.2 将tomcat设置为开机启动
有两个方法,1是使用tomcat自带的启动脚本启动,2是使用jsvc将tomcat启动为Linux的一个进程。
2.2.1 使用Tomcat自带的启动脚本
建立一个脚本命名为tomcat5.sh,内容为:
#!/bin/sh
#file:tomcat5.sh
#设置环境变量,如果无法启动就将注释去掉
#JAVA_HOME=/usr/lib/j2sdk1.4-sun
#CATALINA_HOME=/usr/share/tomcat5
#CLASSPATH=/
#$JAVA_HOME/lib/tools.jar:/
#$CATALINA_HOME/bin/commons-daemon.jar:/
#$CATALINA_HOME/bin/bootstrap.jar
case "$1" in
start)
echo "Starting tomcat5..."
/usr/tomcat5/bin/startup.sh
;;
stop)
echo "Stopping tomcat5..."
/usr/tomcat5/bin/shutdown.sh
;;
*)
echo "Usage tomcat.sh start/stop"
exit 1;;
esac
#tomcat5.sh end
将tomcat5.sh
拷贝到/etc/init.d下面。然后运行/usr/bin/ksysv运行图形界面的开机启动设置工具。将Available
Services栏里的tomcat5.sh拖到Runlever 2 Start,Runlever 3 Start,Runlever 4
Start,Runlever 5 Start,Runlever 6 Start,Runlever 0 Stop,Runlever 1
Stop,Runlever 6 Stop,你可能需要注意图标的位置,我将图标拖到每一栏的启动项目标号是90的位置。
或者你在终端里运行:
ln -s /etc/init.d/tomcat5.sh /etc/rc0.d/K90tomcat5.sh
ln -s /etc/init.d/tomcat5.sh /etc/rc1.d/K90tomcat5.sh
ln -s /etc/init.d/tomcat5.sh /etc/rc2.d/S90tomcat5.sh
ln -s /etc/init.d/tomcat5.sh /etc/rc3.d/S90tomcat5.sh
ln -s /etc/init.d/tomcat5.sh /etc/rc4.d/S90tomcat5.sh
ln -s /etc/init.d/tomcat5.sh /etc/rc5.d/S90tomcat5.sh
ln -s /etc/init.d/tomcat5.sh /etc/rc6.d/K95tomcat5.sh
重启机器看tomcat是否可以自动启动了。
2.2.2 使用jsvc,增加安全性
方法2.2.1有一个严重的问题,那就是tomcat具有root权限。我意味着你的任何一个jsp脚本都具有root权限,所以可以轻易地用jsp脚本删除你整个硬盘里的东西!所以我们最好不要使用2.2.1方法。
我们下载的jakarta-tomcat-5.0.28.tar.gz带有jsvc
工具,在压缩包里的jakarta-tomcat- 5.0.28/bin/jsvc.tar.gz,如果你按上面的步骤做了,它就在
/usr/share/tomcat5/bin/jsvc.tar.gz,将其解压,得到/usr/share/tomcat5/bin/jsvc-
src文件夹。在终端运行:
/usr/share/tomcat5/bin/jsvc-src/configure --with-java=/usr/lib/j2sdk1.4-sun
make
得到/usr/share/tomcat5/bin/jsvc-src/jsvc文
件。将/usr/share/tomcat5/bin/jsvc-
src/native/tomcat5.sh脚本文件拷贝到/etc/init.d下,再使用2.2.1中的的半部分方法将tomcat设置为自启动。
/etc/init.d/tomcat5.sh还需要修改,使其看起来像:
JAVA_HOME=/usr/lib/j2sdk1.4-sun
CATALINA_HOME=/usr/share/tomcat5
DAEMON_HOME=/usr/share/tomcat5
TOMCAT_USER=tomcat5 #这里改为一个普通身份的用户名
TMP_DIR=/var/tmp
CATALINA_OPTS=
CLASSPATH=/
$JAVA_HOME/lib/tools.jar:/
$CATALINA_HOME/bin/commons-daemon.jar:/
$CATALINA_HOME/bin/bootstrap.jar
case "$1" in
start)
#
# Start Tomcat
#
$DAEMON_HOME/bin/jsvc-src/jsvc /
......
先不要重启试验,请手动运行/etc/init.d/tomcat5.sh
start,然后在浏览器中输入http://localhost:8080或者http://127.0.0.1:8080看tomcat是否能够启
动,再运行/etc/init.d/tomcat5.sh stop看是否能停止。
问题:无法用jsvc启动tomcat?
在http:
//jakarta.apache.org/commons/daemon/faq.html有说明。如果你使用Debian,运行modconf然后将
/kernel/security下的capability模块安装上。如果你使用其它的版本,并且把capability编绎为模块,请在
/etc/init.d/tomcat5.sh的合适位置(你想使用第2行?)加上modprobe capability。
3,设置tomcat的server.xml布署网站
如果你想让别人在浏览器中输入你的IP而不需要在IP后面加上“:端口号”就能访问你的网站的话,请将。
修改为使appBase="/home/tomcatweb"
并在其后面加上:
把你自己的index.jsp放在/home/tomcatweb目录下,然后在浏览器中输入http://127.0.0.1,你应该就能看到index.jsp的运行结果了。
4,中文问题
tomcat并没有特殊的中文问题。而且大部分情况下的中文问题是因为用户根本就不会写JSP代码,甚至不会写HTML代码。
4.1 简单HTML文件的乱码问题
一个HTML文件,里面包含有中文文字,如:
上面的标签告诉浏览器你的HTML文件使用的是UTF-8编码格式。请将UTF-8正确地设置为你的文本编辑器保存时的编码,否则,只有全英文HTML源码文件才能保证不出现乱码。
4.2 简单的JSP文件的乱码问题
一个JSP文件,里面包含有中文文字,如:
<%@ page contentType="text/html; charset=UTF-8" %>标签告诉tomcat和java编绎器你的文件的编码是UTF-8格式的。
4.3 被包含的文件的内容是乱码
4.4 POST方法的乱码
在request.getParameter();之前运行request.setCharacterEncoding("UTF-8");,其中UTF-8是你的jsp文件编码。
4.5 使用javaIO读取的文件是乱码
请重写你的函数,而不是试图更改tomcat的设置。
原文链接:http://www.ideawu.net/tomcatinstall.html
1,安装J2SDK
1.1 使用Debian源里的安装包
以root 身份运行apt-get install
sun-j2sdk1.4,这样将安装sun的j2sdk1.4。然后输入java如果你看到的不是command not
found,就表示你已经安装正确了。否则搜索是否有java和javac两个文件,我的在/usr/lib/j2sdk1.4-sun/bin下,如果
有就创建链接到/usr/bin下,连接名与原文件名一样。
1.2 使用sun网站上的安装包
具体方法参考sun网站上的安装说明。也可以参考我的做法(图形界面操作):
下载正确的压缩包后解压,一般得到类似名为jdk1.x.x的文件夹。将整个文件夹
移动到/usr/lib目录下,然后进入 jdk.1.x.x/bin下的java, javac, javadoc,
jar四个可执行文件创建链接,然后复制到/usr/bin文件夹下,并且改名为与原文件相同。这样做的原因是一般/usr/bin是$PATH环境变量
的一部分,以后你想运行javac命令编绎一个.java源文件时,只需要输入javac
filename就行了,而不需要输入javac文件所在的完整路径。
JAVA_HOME环境变量可以不设置,因为据我的使用经验,java,javac等jdk的程序知道在哪里找到自己的家。当某个程序需要JAVA_HOME环境变量,我们再在它的启动脚本中设置。因为使用JAVA_HOME环境变量的程序很少。
2,安装Tomcat
从http://tomcat.apache.org/网站上下载tomcat for Linux。网站上有不同版本的源码包和二进制包等,而二进制包又有core,deployer,embedded三种。我使用tomcat5.28二进制包中的core。
下载jakarta-tomcat-5.0.28.tar.gz解压,将得到jakarta-tomcat-5.0.28文件夹,我把它改名为tomcat5,把它拷贝到你喜欢的地方。我放在/usr/share/下。
2.1 试运行tomcat
在终端中输入/usr/share/tomcat5/bin/startup.sh,将启动tomcat。然后你在浏览器中输入http://localhost:8080或者http://127.0.0.1:8080你就看到tomcat产生的页面了。
运行/usr/share/tomcat5/bin/startup.sh出错?试运行:
JAVA_HOME=/usr/lib/j2sdk1.4_sun #这里的路径是你的j2sdk的安装路径
export JAVA_HOME
/usr/share/tomcat5/bin/startup.sh
2.2 将tomcat设置为开机启动
有两个方法,1是使用tomcat自带的启动脚本启动,2是使用jsvc将tomcat启动为Linux的一个进程。
2.2.1 使用Tomcat自带的启动脚本
建立一个脚本命名为tomcat5.sh,内容为:
#!/bin/sh
#file:tomcat5.sh
#设置环境变量,如果无法启动就将注释去掉
#JAVA_HOME=/usr/lib/j2sdk1.4-sun
#CATALINA_HOME=/usr/share/tomcat5
#CLASSPATH=/
#$JAVA_HOME/lib/tools.jar:/
#$CATALINA_HOME/bin/commons-daemon.jar:/
#$CATALINA_HOME/bin/bootstrap.jar
case "$1" in
start)
echo "Starting tomcat5..."
/usr/tomcat5/bin/startup.sh
;;
stop)
echo "Stopping tomcat5..."
/usr/tomcat5/bin/shutdown.sh
;;
*)
echo "Usage tomcat.sh start/stop"
exit 1;;
esac
#tomcat5.sh end
将tomcat5.sh
拷贝到/etc/init.d下面。然后运行/usr/bin/ksysv运行图形界面的开机启动设置工具。将Available
Services栏里的tomcat5.sh拖到Runlever 2 Start,Runlever 3 Start,Runlever 4
Start,Runlever 5 Start,Runlever 6 Start,Runlever 0 Stop,Runlever 1
Stop,Runlever 6 Stop,你可能需要注意图标的位置,我将图标拖到每一栏的启动项目标号是90的位置。
或者你在终端里运行:
ln -s /etc/init.d/tomcat5.sh /etc/rc0.d/K90tomcat5.sh
ln -s /etc/init.d/tomcat5.sh /etc/rc1.d/K90tomcat5.sh
ln -s /etc/init.d/tomcat5.sh /etc/rc2.d/S90tomcat5.sh
ln -s /etc/init.d/tomcat5.sh /etc/rc3.d/S90tomcat5.sh
ln -s /etc/init.d/tomcat5.sh /etc/rc4.d/S90tomcat5.sh
ln -s /etc/init.d/tomcat5.sh /etc/rc5.d/S90tomcat5.sh
ln -s /etc/init.d/tomcat5.sh /etc/rc6.d/K95tomcat5.sh
重启机器看tomcat是否可以自动启动了。
2.2.2 使用jsvc,增加安全性
方法2.2.1有一个严重的问题,那就是tomcat具有root权限。我意味着你的任何一个jsp脚本都具有root权限,所以可以轻易地用jsp脚本删除你整个硬盘里的东西!所以我们最好不要使用2.2.1方法。
我们下载的jakarta-tomcat-5.0.28.tar.gz带有jsvc
工具,在压缩包里的jakarta-tomcat- 5.0.28/bin/jsvc.tar.gz,如果你按上面的步骤做了,它就在
/usr/share/tomcat5/bin/jsvc.tar.gz,将其解压,得到/usr/share/tomcat5/bin/jsvc-
src文件夹。在终端运行:
/usr/share/tomcat5/bin/jsvc-src/configure --with-java=/usr/lib/j2sdk1.4-sun
make
得到/usr/share/tomcat5/bin/jsvc-src/jsvc文
件。将/usr/share/tomcat5/bin/jsvc-
src/native/tomcat5.sh脚本文件拷贝到/etc/init.d下,再使用2.2.1中的的半部分方法将tomcat设置为自启动。
/etc/init.d/tomcat5.sh还需要修改,使其看起来像:
JAVA_HOME=/usr/lib/j2sdk1.4-sun
CATALINA_HOME=/usr/share/tomcat5
DAEMON_HOME=/usr/share/tomcat5
TOMCAT_USER=tomcat5 #这里改为一个普通身份的用户名
TMP_DIR=/var/tmp
CATALINA_OPTS=
CLASSPATH=/
$JAVA_HOME/lib/tools.jar:/
$CATALINA_HOME/bin/commons-daemon.jar:/
$CATALINA_HOME/bin/bootstrap.jar
case "$1" in
start)
#
# Start Tomcat
#
$DAEMON_HOME/bin/jsvc-src/jsvc /
......
先不要重启试验,请手动运行/etc/init.d/tomcat5.sh
start,然后在浏览器中输入http://localhost:8080或者http://127.0.0.1:8080看tomcat是否能够启
动,再运行/etc/init.d/tomcat5.sh stop看是否能停止。
问题:无法用jsvc启动tomcat?
在http:
//jakarta.apache.org/commons/daemon/faq.html有说明。如果你使用Debian,运行modconf然后将
/kernel/security下的capability模块安装上。如果你使用其它的版本,并且把capability编绎为模块,请在
/etc/init.d/tomcat5.sh的合适位置(你想使用第2行?)加上modprobe capability。
3,设置tomcat的server.xml布署网站
如果你想让别人在浏览器中输入你的IP而不需要在IP后面加上“:端口号”就能访问你的网站的话,请将。
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" /> 中的port="8080"改为port="80",因为80是浏览器请求的默认端口。找到 <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> |
并在其后面加上:
英文代码 |
4,中文问题
tomcat并没有特殊的中文问题。而且大部分情况下的中文问题是因为用户根本就不会写JSP代码,甚至不会写HTML代码。
4.1 简单HTML文件的乱码问题
一个HTML文件,里面包含有中文文字,如:
<html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> </head> 你好。 </html> |
4.2 简单的JSP文件的乱码问题
一个JSP文件,里面包含有中文文字,如:
<%@ page contentType="text/html; charset=UTF-8" %> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> </head> <% out.println("你好。"); %> </html> |
4.3 被包含的文件的内容是乱码
如果你的parent.jsp文件中使用 <jsp:include page="child.jsp" /> 文件包含了child.jsp, 请在parent.jsp和child.jsp文件中都指定了正确的 <%@ page contentType="text/html; charset=UTF-8" %> (改UTF-8为正确的编码),两者可以不一样。 如果你的parent.jsp文件中使用 <%@ include file="child.jsp" %> 文件包含了child.jsp, 请保证parent.jsp和child.jsp是相同的编码, 并且在parent.jsp中设置了正确的 <%@ page contentType="text/html; charset=UTF-8" %>(改UTF-8为正确的编码)。 不要在child.jsp中设置 <%@ page contentType="text/html; charset=UTF-8" %>, 否则,tomcat会出错(不总是)。 |
在request.getParameter();之前运行request.setCharacterEncoding("UTF-8");,其中UTF-8是你的jsp文件编码。
4.5 使用javaIO读取的文件是乱码
请重写你的函数,而不是试图更改tomcat的设置。
原文链接:http://www.ideawu.net/tomcatinstall.html
相关文章推荐
- Linux下jsp开发环境,apache,tomcat服务器配置过程
- Linux下jsp开发环境,apache,tomcat服务器配置过程
- web服务器 linux+apache+tomcat+mysql+jsp+php 整合安装
- Linux -- Web服务器配置及PHP解释器的安装;JSP运行环境的配置(Tomcat安装)
- Linux下jsp开发环境,apache,tomcat服务器配置过程
- Linux下jsp开发环境,apache,tomcat服务器配置过程:
- Linux下jsp开发环境,apache,tomcat服务器配置过程
- linux下安装Tomcat及设置JSP环境
- Linux下Tomcat+Nginx服务器环境安装配置的简明教程
- mac下配置jsp开发环境——tomcat安装及配置
- Linux下安装MyEclipse和Tomcat服务器详解,以及我安装过程中所出现的问题以及解决办法,并实现一个web小程序
- CentOS下使用Linux安装Tomcat服务器
- Linux下安装Tomcat服务器和部署Web应用
- Linux Java开发坏境搭建,Ubuntu-jdk+tomcat+eclipse+svn 包安装详细操作
- Centos7.4 安装java开发环境(lnmt)Linux + Nginx+ MySQL+ Tomcat
- Ubuntu安装Java开发环境、Tomcat服务器
- 【Linux】Tomcat安装及一个服务器配置多个Tomcat
- 阿里云服务器Linux(Ubuntu系统)安装tomcat以及外网访问详解
- JSP的那些事儿(3)----在Linux下安装Tomcat
- 【Linux 操作系统】阿里云服务器 操作实战 部署C语言开发环境(vim配置,gcc) 部署J2EE网站(jdk,tomcat)