linux 下tomcat的安装

时间:2021-02-01 20:21:49

写在前面:
由于项目使用jdk1.6开发,所以对应服务器应安装jdk1.6和tomcat6
---

1、环境变量的配置:

打开/etc/bashrc配置环境变量
JAVA_HOME=/usr/appsoft/jdk1.6.0_45/jre
export JAVA_HOME

CLASSPATH=\(JAVA_HOME/lib/dt.jar:\)JAVA_HOME/lib/tools.jar:$CLASSPATH
export CLASSPATH

CATALINA_BASE=/usr/appsoft/tomcat
export CATALINA_BASE

CATALINA_HOME=$CATALINA_BASE
export CATALINA_HOME

PATH=\(JAVA_HOME/bin:\)CATALINA_HOME/bin:$PATH
export PATH

2、使环境变量生效:

配置完环境变量之后执行:#source /etc/bashrc使环境变量生效

3、安装java运行环境:

a) 将jdk-6u45-linux-i586.bin上传到目标机器的/usr/appsoft/software目录下;

b) 在目标机器上打开一个终端,并在终端中执行如下命令:

cd /usr/appsoft/software

./jdk-6u45-linux-i586.bin

运行之后会在/usr/appsoft/software下有一个jdk1.6.0_45目录

c) 将运行jdk-6u45-linux-i586.bin解压得到的jdk1.6.0_45移至/usr/appsoft/下。具体为在终端中执行以下命令:

mv jdk1.6.0_45 /usr/appsoft

4、tomcat的安装:

Tomcat安装包的名称为apache-tomcat-6.0.20.zip,该包为二进制发布包,不需要编译,直接解压后就能使用。安装过程其实就是归档文件解压过程,并将解压获取到的目录进行改名,具体为:

a) 以二进制方式将apache-tomcat-6.0.20.zip上传至/usr/appsoft/software下。

b) 解压apache-tomcat-6.0.20.zip,即在终端中输入命令

unzip apache-tomcat-6.0.20.zip

c) 解压完成后/usr/appsoft/software下有文件夹apache-tomcat-6.0.20。将该文件夹移动到/usr/appsoft下,并改名为tomcat。在终端中输入命令

mv apache-tomcat-6.0.20 /usr/appsoft/tomcat

5、发布程序

将iesweb.zip上传到/usr/appsoft/tomcat/webapps下,并解压

unzip iesweb.zip

6、启动tomcat

进入到/usr/appsoft/tomcat/bin目录中,执行如下命令:

./catalina.sh run

执行# ps -ef |grep java | grep -v grep | grep tomcat查看tomcat进程
杀死tomcat进程的方法为:

kill -9 进程号

7、验证发布是否成功

在浏览器中输入:http://localhost:8080/iesweb/jsp/login.jsp验证是否出现登录界面,如出现登录界面但是验证码无法显示可以按照“问题处理”部分方法解决


问题处理:
● 安装java和tomcat时可能对jdk-6u45-linux-i586.bin和apache-tomcat-6.0.20.zip没有权限,需要加权限:# chmod +x jdk-6u45-linux-i586.bin apache-tomcat-6.0.20.zip
● 执行catalina.sh时没有权限需要加权限:# chmod +x catalina.sh
● 启动tomcat时报错:The BASEDIR environment variable is not defined correctly
This environment variable is needed to run this program,检查环境变量没有错误,可能是权限问题:# chmod 777 -R /usr/appsoft/tomcat/bin/
● 程序发布好之后出现“验证码无法显示的问题”:并报出错误: linux Could not initialize class java.awt.image.BufferedImage ,
解决方法:打开文件/usr/appsoft/tomcat/bin/catalina.sh,在所有类似以下代码:
"$_RUNJAVA" $JAVA_OPTS \(CATALINA_OPTS \
-Djava.endorsed.dirs="\)JAVA_ENDORSED_DIRS" -classpath "\(CLASSPATH" \
-Djava.security.manager \
-Djava.security.policy=="\)CATALINA_BASE"/conf/catalina.policy \
-Dcatalina.base="\(CATALINA_BASE" \
-Dcatalina.home="\)CATALINA_HOME" \
-Djava.io.tmpdir="\(CATALINA_TMPDIR" \
在尾部加上一句: -Djava.awt.headless=true \
修改后内容如下: exec "\)_RUNJAVA" $JAVA_OPTS \(CATALINA_OPTS \
-Djava.endorsed.dirs="\)JAVA_ENDORSED_DIRS" -classpath "\(CLASSPATH" \
-Dcatalina.base="\)CATALINA_BASE" \
-Dcatalina.home="\(CATALINA_HOME" \
-Djava.io.tmpdir="\)CATALINA_TMPDIR" \
-Djava.awt.headless=true \

以tomcat6.0为例,总共有七处这样的地方,修改好后即可。

--------------------------------------------------------------------------------
本文参考了以下文章:
● linux下tomcat6.0与jdk安装详细步骤 : http://blog.csdn.net/bingyingao/article/details/5614773
● TOMCAT-报错The BASEDIR environment variable is not defined correctly :http://blog.csdn.net/evils798/article/details/7284594



linux Could not initialize class java.awt.image.BufferedImage

网站验证码突然无法显示,并报如下错误。
javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class java.awt.image.BufferedImage

网上搜索了一下,在catalina.sh里加上一句“-Djava.awt.headless=true \”,问题解决。
经查,出现这种情况一般就是启动tomcat的用户无法访问Xserver,包括Xserver没有启动或者没有权限访问.

以下为转贴:
1.什么是Headless mode?
Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。

2.何时使用和headless mode?
Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少前述设备,但又需要使用他们提供的功能,生成相应的数据,以提供给客户端(如浏览器所在的配有相关的显示设备、键盘和鼠标的主机)。

3.如何使用和Headless mode?
一般是在程序开始激活headless模式,告诉程序,现在你要工作在Headless mode下,就不要指望硬件帮忙了,你得自力更生,依靠系统的计算能力模拟出这些特性来:
System.setProperty("Java.awt.headless","true");

修改\({TOMCAT_HOME}/bin/catalina.sh或\){TOMCAT_HOME}/bin/catalina.bat文件:
在所有类似以下代码:
"$_RUNJAVA" $JAVA_OPTS \(CATALINA_OPTS \
-Djava.endorsed.dirs="\)JAVA_ENDORSED_DIRS" -classpath "\(CLASSPATH" \
-Djava.security.manager \
-Djava.security.policy=="\)CATALINA_BASE"/conf/catalina.policy \
-Dcatalina.base="\(CATALINA_BASE" \
-Dcatalina.home="\)CATALINA_HOME" \
-Djava.io.tmpdir="\(CATALINA_TMPDIR" \
在尾部加上一句: -Djava.awt.headless=true \
修改后内容如下: exec "\)_RUNJAVA" $JAVA_OPTS \(CATALINA_OPTS \
-Djava.endorsed.dirs="\)JAVA_ENDORSED_DIRS" -classpath "\(CLASSPATH" \
-Dcatalina.base="\)CATALINA_BASE" \
-Dcatalina.home="\(CATALINA_HOME" \
-Djava.io.tmpdir="\)CATALINA_TMPDIR" \
-Djava.awt.headless=true \

以tomcat6.0为例,总共有七处这样的地方,修改好后即可。