安装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