centos 下安装jdktomcat 以及tomcat无法从外部访问的解决办法

Posted 云端观云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos 下安装jdktomcat 以及tomcat无法从外部访问的解决办法相关的知识,希望对你有一定的参考价值。

centos 下安装jdk、tomcat 以及tomcat无法从外部访问的解决办法

原创 2014年08月28日 10:24:33

昨天在centos下安装了jdk和tomcat,并调试通,之前从Ubuntu下装过,还没有从centos弄过,记录一下安装过程与出现的问题。

首先准备好安装文件,jdk-6u45-linux-i586-rpm.bin  apache-tomcat-6.0.41.tar.gz

进入目录

 

[html] view plain copy
 
  1. cd /  
  2. cd opt   
  3. cd soft  

新建一个文件夹:jdk

 

[html] view plain copy
 
  1. mkdir jdk  


 

将文件放到该目录下,修改该文件的权限:

 

[html] view plain copy
 
  1. chmod -R 777 jdk-6u45-linux-i586-rpm.bin  


 

执行bin文件的安装命令:

 

[html] view plain copy
 
  1. ./jdk-6u45-linux-i586-rpm.bin  


 

然后等待安装完成即可。

安装过程如图:技术分享

至此安装完成,然后需要配置一下环境变量。

环境变量文件在etc下的profile

 

[html] view plain copy
 
  1. cd /  
  2. cd etc  
  3. vi profile  


 

 

进入该文件后,进入插入模式(摁下 键盘的“i”键)

然后光标移动到最后,在最后插入如下语句:

 

[html] view plain copy
 
  1. export JAVA_HOME=/usr/java/jdk1.6.0_45  
  2. export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
  3. export PATH=$PATH:$JAVA_HOME/bin  

 

 

 

在centos下,安装bin类型的文件其实就像我们在windows下安装可执行文件一样,该文件默认安装到usr的java目录下,就如同windows下默认安装到c://windows/Program Files/java 文件夹一样。

因此上述三行代码就是分别配置

JAVA_HOME

CLASSPATH

PATH

同我们在windows下配置一样。

至此,jdk的安装完成。

 

 

tomcat配置。

tomcat的配置比较简单,只要把上面的tar.gz包放到对应的目录下,然后解压即可。gz其实就是压缩包,同我们在windows下的zip之类的一样,对于tomcat,他就是一个免安装版本。

进入对应目录

 

[html] view plain copy
 
  1. cd /  
  2. cd opt  
  3. cd soft  
  4. mkdir tomcat  


 

放入tomcat 并执行解压命令:

 

[html] view plain copy
 
  1. tar -zxvf  apache-tomcat-6.0.41.tar.gz  


 

修改bin文件夹的权限 

 

[html] view plain copy
 
  1. chmod -R 777 bin  


 

进入bin文件夹

cd bin

启动:

[html] view plain copy
 
  1. ./startup.sh  

 

我遇到的问题是:如果没有修改bin的权限,则在敲完star这四个字母然后使用tab键提示的时候,出不来,而且即使手敲完以后,执行,则 no such file or dictinory。修改完权限后则无此问题。

遇到比较麻烦的问题:

1、启动后,在控制台看不到错误信息,只看到配置信息,如 jdk版本之类的信息,可是在本机敲入localhost:8080无法访问,解决办法是,到tomcat的log文件夹下,会有一个Catalina.out 即为tomcat的日志,查看该日志,发现启动信息中报了一个错误:端口被占用,修改即可。

2、解决上述问题后,在本机可以访问,但是在外网无法访问。ping 该机器的ip也可以ping 通,可是敲入ip+端口就是无法访问,排查到最后,发现是 防火前和selinux的问题。最简单的办法:将他们关闭即可。

查看防火墙状态: 

[html] view plain copy
 
  1. service iptables status   

 

关闭防火墙: 

[html] view plain copy
 
  1. service iptables stop  

 

查看selinx的状态

 

[html] view plain copy
 
  1. getenforce   


 

发现显示 : enforcing

执行设置为宽容模式也不行,只能完全关闭, 完全关闭后,需要重启Linux系统。

执行完全关闭的方法为:修改对应的文件

该文件为:/etc/sysconfig/selinux

进入该文件 

 

[html] view plain copy
 
  1. vi /etc/sysconfig/selinux  


 

将里面这两句:

 

[html] view plain copy
 
  1. SELINUX=enforcing   
  2. SELINUXTYPE=targeted  



都注释掉

 

然后在最后加入这一句

 

[html] view plain copy
 
  1. SELINUX=disabled   


 

修改完成后,该文件内容为:



[html] view plain copy
 
  1. #SELINUX=enforcing  
  2. #SELINUXTYPE=targeted  
  3.  SELINUX=disabled   


 

然后重启系统  

reboot

重启完成后,

手动停止一下 防火墙:

[html] view plain copy
 
  1. service iptables stop  

启动tomcat, 外部访问,则一切正常。

































以上是关于centos 下安装jdktomcat 以及tomcat无法从外部访问的解决办法的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7下安装JDKTomcat及Maven

阿里云CentOs7下安装JDKTomcat详细步骤教程(附java简介)

阿里云(CentOS)上安装jdktomcat

JDKTomcat安装(CentOS 7)

centos7安装配置jdktomcat

安装JDKTomcat和Mysql(CentOS 7.4)