Linux下安装Tomcat

安装Tomcat 的前提下:需要安装JDK,并配置好JDK环境

下载linux版本的Tomcat的安装包

下载安装tomcat(http://tomcat.apache.org/)我这边是下载的apache-tomcat-8.0.50.tar.gz

解压

tar -zxvf apache-tomcat-8.0.50.tar.gz

我是放在了usr/local/tomcat下所以要创建tomcat文件夹并将解压文件移动到tomcat下(由于之前新建过再次创建或出现重复)

mkdir /usr/local/tomcat
mv apache-tomcat-8.0.50 /usr/local/tomcat/

进入tomcat安装bin目录并启动

cd usr/local/tomcat/apache-tomcat-8.0.50/bin/
./startup.sh


成功启动后浏览器输入http://localhost:8080/查看信息(如果不是本机则输入对应IP,比如我输入服务器IP47.97.189.117:8080)

至此,tomcat安装完成,后续可添加项目重启tomcat服务。

会遇到Tomcat启动成功,但页面无法访问的问题:

不论是要启动,还是要关闭tomcat服务,都是要去到tomcat安装目录下的bin路径,当然你要是电脑关机自然是不需要的。

但最近在启动后发现了一个问题:Centos服务器,本地和服务器ip互ping正常(本机ping服务器,服务器ping本地),但是服务器上部署好tomcat后,本机却无法通过浏览器访问服务器tomcat的8080端口.

比如服务器公网ip为:123.123.123.123,启动tomcat后默认端口为8080,通过123.123.123.123:8080访问时,无法访问tomcat默认页面.考虑是服务器防火墙的问题.

确认tomcat已开启

$ ps -ef|grep tomcat

控制台输出,表明tomcat已处于开启状态

root  1428  1 0 Dec08 ?  00:02:16 /usr/local/java/jdk1.8.0_152/jre/bin/java -Djava.util.logging.config.file=/usr/local/java/tomcat8/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath /usr/local/java/tomcat8/bin/bootstrap.jar:/usr/local/java/tomcat8/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/java/tomcat8 -Dcatalina.home=/usr/local/java/tomcat8 -Djava.io.tmpdir=/usr/local/java/tomcat8/temp org.apache.catalina.startup.Bootstrap start
root  4932 4069 0 09:16 pts/0 00:00:00 grep --color=auto tomcat

如果tomcat未开启,则通过tomcat的startup.sh命令开启,直接输入文件所在的路径即可.

$ /usr/local/java/tomcat8/bin/startup.sh

控制台输出:

[root@izbp109iqt20o2h63tpcuvz ~]# /usr/local/java/tomcat8/bin/startup.sh 
Using CATALINA_BASE: /usr/local/java/tomcat8
Using CATALINA_HOME: /usr/local/java/tomcat8
Using CATALINA_TMPDIR: /usr/local/java/tomcat8/temp
Using JRE_HOME:  /usr/local/java/jdk1.8.0_152/jre
Using CLASSPATH:  /usr/local/java/tomcat8/bin/bootstrap.jar:/usr/local/java/tomcat8/bin/tomcat-juli.jar
Tomcat started.

Tomcat started.表明tomcat已开启成功!

第一种:.Centos7的防火墙拦截了tomcat访问的8080端口

firewall-cmd --permanent --zone=public --add-port=8080/tcp  
firewall-cmd --reload  
firewall-cmd --zone=public --query-port=8080/tcp

配置防火墙

第二种:编辑防火墙配置

$ vi /etc/sysconfig/iptables

添加8080端口的防火墙,允许访问.

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT  -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

注意!非常关键:端口的配置必须要在如下配置的上方,放在下方无效.

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

输入i开始编辑,ESC键结束编辑,WQ保存并退出.

centOS7中的防火墙


1、firewalld的基本使用


启动: systemctl start firewalld


查看状态: systemctl status firewalld 


停止: systemctl disable firewalld


禁用: systemctl stop firewalld


第三种:
 

[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent


success


 [root@localhost ~]# firewall-cmd --reload


success


firewall-cmd --zone=public --add-port=8088/tcp --permanent (--permanent永久生效,没有此参数重启后失效)

之后就可以在本机通过浏览器访问123.123.123.123:8080,就可以正常看到tomcat的默认欢迎页面了.

-----部署tomcat集群修改端口后还是无法访问的问题:(解决如下:)

修改server中端口:

tomcat0:<Server port="8005" shutdown="SHUTDOWN">

tomcat1:<Server port="18005" shutdown="SHUTDOWN">

tomcat2:<Server port="28005" shutdown="SHUTDOWN">

tomcat3:<Server port="38005" shutdown="SHUTDOWN">

-----tomcat出现8005无法启动的解决办法:

修改$JAVA_HOME/jre/lib/security/Java.security 文件中 securerandom.source 配置项:【在JDK下查找】

将 
securerandom.source=file:/dev/random 
修改为: 
securerandom.source=file:/dev/urandom

学着把生活的苦酒当成饮料一样慢慢品尝, 不论生命经过多少委屈和艰辛, 我们总是以一个朝气蓬勃的面孔, 醒来在每一个早上。
原文地址:https://www.cnblogs.com/yhm9/p/11190353.html