参考:http://sagewsg.iteye.com/blog/1428605
http://blog.youkuaiyun.com/langzi_zhang/article/details/52679452 (inux rpm方式 安装 jdk1.7)
linux版本:CentOS 6.2
iso文件下载地址:http://mirrors.163.com/centos/6.2/isos/i386/CentOS-6.2-i386-bin-DVD1.iso
1. 安装JDK
先用java命令查看系统是否安装了默认的openJDK,如果已安装,建议用yum remove java卸载之。
下载jdk:
wget –c http://download.oracle.com/otn-pub/java/jdk/jdk-7u75-linux-x64.rpm
安装:rpm -ivh jdk-7u75-linux-x64.rpm
安装目录为: /usr/java/ 自动创建两个目录连接:
/usr/java/latest 指向最新版的JDK路径的连接,如果有多个版本并存时
/usr/java/default 默认指向上者连接,可以自行改到其它版本
自动创建了几个文件连接:
/usr/bin/java-> /usr/java/default/bin/java
/usr/bin/javac-> /usr/java/default/bin/javac
/usr/bin/javadoc-> /usr/java/default/bin/javadoc
/usr/bin/javaws-> /usr/java/default/bin/javaws
注: 系统默认是根据/usr/java/default查找可文件,所以需要用那个版本时,只需改此目录连接
服务文件: /etc/init.d/jexec 可以通过service服务启动,停用等
卸载: rpm -e jdk-1.6.0_24-fcs
另外RPM安装方法,无需另行设置java环境变量
配置环境变量(等到tomcat安装好之后一起配置)
rpm -qa | grep jdk 查看是否安装了jdk:
jdk-1.7.0_71-fcs.x86_64
yum -y remove jdk-1.7.0_71-fcs.x86_64 表示卸载
2. 安装tomcat
Tomca下载地址:
http://apache.etoak.com/tomcat/tomcat-7/v7.0.28/bin/apache-tomcat-7.0.54.tar.gz
下载后解压:tar -zxvf apache-tomcat-7.0.54
移动到/usr/local/tomcat7:mv apache-tomcat-7.0.54 /usr/local/tomcat7
设置目录可执行权限 chmod +x /usr/local/tomcat7
配置环境变量
编辑profile文件:vim /etc/profile
在文件中添加以下代码(最好放最后,且等号左右不能有空格):
export JAVA_HOME=/usr/java/jdk1.7.0_54
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin
export TOMCAT_HOME=/usr/local/tomcat7
export CATALINA_HOME=/usr/local/tomcat7
保存文件退出编辑。
使设置立即生效:source /etc/profile
以上配置是每个centOS只有一个tomcat 的配置,如果有多个,则修改每个tomcat的目录到bin下的catalina.sh文件中,就不用在/etc/profile文件中配置
TOMCAT_HOME=/opt/apache-tomcat-7.0.56
CATALINA_HOME=/opt/apache-tomcat-7.0.56
CATALINA_OPTS="-Xms1024m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m"
最后一排是设置相应的tomcat优化。
至此,tomcat已经搭建完毕,下面所述的步骤主要是对tomcat的相关设置。
启动tomcat: sh startup.sh 或者 sh /usr/local/tomcat7/bin/startup.sh
此时可在浏览器查看http://localhost:8080,如果没有图形界面,则需要打开端口才可访问。
打开防火墙端口命令如下:
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT #8080为端口
/etc/init.d/iptables save #保存
/etc/init.d/iptables restart #重启防火墙使得立即生效
也可以在/etc/sysconfig/iptables文件中增加一行信息,在网络上都说这样才对
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
但是我这样添加了不对,我添加的命令是:
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
开启服务器端路由转发功能
# vi /etc/sysctl.conf
---------------------
net.ipv4.ip_forward = 1
---------------------
# sysctl -p
查看防火墙状态的命令:/etc/init.d/iptables status
关闭防火墙的命令:/etc/init.d/iptables stop
修改tomcat端口为80
修改/usr/local/tomcat6/apache-tomcat-7.0.54/conf/中的server.xml文件将端口改为80
开启80端口
在/etc/sysconfig/iptables中开放80端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
将tomcat的默认字符编码设置为UTF-8
在tomcat目录下conf文件夹下的server.xml中添加
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />
在tomcat下的lib文件夹中加入mysql的连接包
修改catalina.sh
有时WEB系统比较大要添加tomcat的内存
if [ -z "$LOGGING_MANAGER" ]; then
JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
else
JAVA_OPTS="$JAVA_OPTS $LOGGING_MANAGER"
fi
# ----- Execute The Requested Command -----------------------------------------
JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx512m -XX:MaxNewSize=512m -XX:MaxPermSize=512m"
Tomcat管理用户密码设置,
修改文件 tomcat/conf/tomcat-users.xml
保存后重启,即可登录tomcat管理页面。
下面我来介绍怎么我在linux系统下设置tomcat自启动。我们都知道,在linux系统下,设置某个服务自启动的话,需要在/etc/rcX.d下挂载,还要在/etc/init.d/下写启动脚本的。
-
第一补:我们在/etc/init.d/下新建一个文件tomcat(需要在root权限下操作)
vi /etc/init.d/tomcat
写入如下代码:
# tomcat自启动脚本
#!/bin/sh
# chkconfig: 345 99 10
# description: Auto-starts tomcat
# /etc/init.d/tomcatd
# Tomcat auto-start
# Source function library.
#. /etc/init.d/functions
# source networking configuration.
#. /etc/sysconfig/network
RETVAL=0
export JDK_HOME=/usr/java/jdk1.7.0_45 (请填写真实的JDK目录)
export CATALINA_HOME=/home/ldatum/usr/apache-tomcat-7.0.10(请填写真实的tomcat目录)
export CATALINA_BASE=/home/ldatum/usr/apache-tomcat-7.0.10(请填写真实的tomcat目录)
start()
{
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
$CATALINA_HOME/bin/startup.sh
RETVAL=$?
echo " OK"
return $RETVAL
fi
}
stop()
{
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
$CATALINA_HOME/bin/shutdown.sh
RETVAL=$?
sleep 1
ps -fwwu tomcat | grep apache-tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9
echo " OK"
# [ $RETVAL -eq 0 ] && rm -f /var/lock/...
return $RETVAL
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
echo $"Restaring Tomcat"
$0 stop
sleep 1
$0 start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL
添加完毕之后,给其增加可执行权限:chmod +x /etc/init.d/tomcat.
之后就是将这个shell文件的link连到/etc/rc2.d/目录下。linux的/etc/rcX.d/目录中的数字代表开机启动时不同的run level,也就是启动的顺序,Ubuntu9.10下有0-5六个level,不能随便连到其他目录下,可能在那个目录中的程序启动时Tomcat所需要的一些库尚未被加载,用ln命令将tomcat的链接链过去:ln -s /etc/init.d/tomcat /etc/rc2.d/S16Tomcat。rcX.d目录下的命名规则是很有讲究的,更具不同需要可能是S开头,也可能是K开头,之后的数字代表他们的启动顺序,详细看各自目录下的Readme文件。
接下来就是把这个脚本设置成系统启动时自动执行,系统关闭时自动停止,
使用如下命令:chkconfig --add tomcat ##添加tomcat服务
chkconfig tomcat on ##设置开机启动
chkconfig --list |grep tomcat ##查看tomcat服务是否被添加
如果chkconfig没有安装,则使用apt-get 或者yum之类的程序进行安装,一般服务器版本的Linux都已经自带了。
最后,就是reboot重启系统了。重启之后就会发现,你的Tomcat已经成功运行了。