天天看点

CentOS 7 ——安装Tomcat

注意:以Tomcat为例子!

1、安装JDK

点击查看CentOS 7 ——安装Oracle JDK(卸载Open JDK,安装Oracle JDK)

2、下载Tomcat

CentOS 7 ——安装Tomcat
3、创建目录

进入目录:cd /usr/local


创建目录:mkdir tomcat


查看目录:ll 或 ls           

4、解压tomcat安装包

tar -zxvf apache-tomcat-7.0.94.tar.gz           

5、修改文件名(解压后的文件名过长,可以考虑修改短)

mv  apache-tomcat-7.0.94 tomcat7           

6、进入tomcat的目录(根据自己的安装目录来)

cd /usr/local/tomcat/tomcat7           

7、进入tomcat执行目录

cd /usr/local/tomcat/tomcat7/bin           

8、查看tomcat的运行状态

ps -ef |grep tomcat           

9、启动tomcat

./startup.sh           

执行tomcat started,tomcat执行成功

10、关闭tomcat

./shutdown.sh           

解决tomcat执行遇到的问题

1、服务器防火墙拦截

问题描述:当tomcat启动成功后,访问web服务器,请求失败。导致失败的原因之一可能就是防火墙将8080端口或者其他端口拦截掉了,我们需要重新开放8080或者其他端口,不建议关闭防火墙。

(1)查看防火墙状态

service iptables status           

(2)添加8080端口允许外网访问

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT           

(3)保存规则设定

service iptables save           

(4)重启防火墙

service iptables restart           

启动tomcat很慢

问题描述:启动tomcat会用几分钟甚至十几分钟的时间,这就说明tomcat启动被某种机制卡住了,后来查资料说是通过随机数生成秘钥的时候卡住了,导致Tomcat启动慢或失败。因为在tomcat8中,Tomcat的Session ID通过SHA1算法计算得到的,计算Session ID的时候必须有1个秘钥,为了提高安全性Tomcat在启动的时候通过随机数生成秘钥。但是我的版本是tomcat7.0.68,也遇到了类似的问题。解决办法就是增大熵池(影响随机数的强度的是生成用的熵)。

(1)解决办法一:使用rngd 软件增大熵池(推荐)

需要cpu支持 (可不执行)

grep  rdrand /proc/cpuinfo           

安装rngd服务(熵服务,增大熵池)

yum install rng-tools           

启动服务

systemctl start rngd           

(2)java环境下修改配置文件

vim $JAVA_HOME/jre/lib/security/java.security            
securerandom.source=file:/dev/random
改为 
securerandom.source=file:/dev/urandom           

(3)可以通过配置JRE使用非阻塞的Entropy Source(未验证)

vim $TOMCAT_HOME/bin/catalina.sh           
if [[ "$JAVA_OPTS" !=*-Djava.security.egd=* ]]; then
  JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/urandom"           

总结: 

tomcat防火墙和启动正常,无法访问tomcat