写在前面:
由于项目使用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为例,总共有七处这样的地方,修改好后即可。