linux中启动tomcat后浏览器无法访问的解决方法
<p><span><strong>前言</strong></span></p>
<p>
不论是要启动,还是要关闭tomcat服务,都是要去到tomcat安装目录下的bin路径,当然你要是电脑关机自然是不需要的。</p>
<p>
但最近在启动后发现了一个问题:Centos服务器,本地和服务器ip互ping正常(本机ping服务器,服务器ping本地),但是服务器上部署好tomcat后,本机却无法通过浏览器访问服务器tomcat的8080端口.</p>
<p>
比如服务器公网ip为:123.123.123.123,启动tomcat后默认端口为8080,通过123.123.123.123:8080访问时,无法访问tomcat默认页面.考虑是服务器防火墙的问题.</p>
<p>
<span><strong>确认tomcat已开启</strong></span></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_773527">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">$ </code><code class="bash functions">ps</code> <code class="bash plain">-ef|</code><code class="bash functions">grep</code> <code class="bash plain">tomcat</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
控制台输出,表明tomcat已处于开启状态</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_290827">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root 1428 1 0 Dec08 ? 00:02:16 </code><code class="bash plain">/usr/local/java/jdk1</code><code class="bash plain">.8.0_152</code><code class="bash plain">/jre/bin/java</code> <code class="bash plain">-Djava.util.logging.config.</code><code class="bash functions">file</code><code class="bash plain">=</code><code class="bash plain">/usr/local/java/tomcat8/conf/logging</code><code class="bash plain">.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -classpath </code><code class="bash plain">/usr/local/java/tomcat8/bin/bootstrap</code><code class="bash plain">.jar:</code><code class="bash plain">/usr/local/java/tomcat8/bin/tomcat-juli</code><code class="bash plain">.jar -Dcatalina.base=</code><code class="bash plain">/usr/local/java/tomcat8</code> <code class="bash plain">-Dcatalina.home=</code><code class="bash plain">/usr/local/java/tomcat8</code> <code class="bash plain">-Djava.io.tmpdir=</code><code class="bash plain">/usr/local/java/tomcat8/temp</code> <code class="bash plain">org.apache.catalina.startup.Bootstrap start</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">root 4932 4069 0 09:16 pts</code><code class="bash plain">/0</code> <code class="bash plain">00:00:00 </code><code class="bash functions">grep</code> <code class="bash plain">--color=auto tomcat</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
如果tomcat未开启,则通过tomcat的startup.sh命令开启,直接输入文件所在的路径即可.</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_320619">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">$ </code><code class="bash plain">/usr/local/java/tomcat8/bin/startup</code><code class="bash plain">.sh</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
控制台输出:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_363396">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># /usr/local/java/tomcat8/bin/startup.sh </code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">Using CATALINA_BASE: </code><code class="bash plain">/usr/local/java/tomcat8</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">Using CATALINA_HOME: </code><code class="bash plain">/usr/local/java/tomcat8</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">Using CATALINA_TMPDIR: </code><code class="bash plain">/usr/local/java/tomcat8/temp</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">Using JRE_HOME: </code><code class="bash plain">/usr/local/java/jdk1</code><code class="bash plain">.8.0_152</code><code class="bash plain">/jre</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">Using CLASSPATH: </code><code class="bash plain">/usr/local/java/tomcat8/bin/bootstrap</code><code class="bash plain">.jar:</code><code class="bash plain">/usr/local/java/tomcat8/bin/tomcat-juli</code><code class="bash plain">.jar</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">Tomcat started.</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
Tomcat started.表明tomcat已开启成功!</p>
<p>
<span><strong>配置防火墙</strong></span></p>
<p>
编辑防火墙配置</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_663000">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">$ </code><code class="bash functions">vi</code> <code class="bash plain">/etc/sysconfig/iptables</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
添加8080端口的防火墙,允许访问.</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_324606">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">*filter</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">:INPUT ACCEPT </code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">:FORWARD ACCEPT </code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">:OUTPUT ACCEPT </code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">-A INPUT -p icmp -j ACCEPT</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">-A INPUT -i lo -j ACCEPT</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash plain">-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash plain">-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash plain">-A INPUT -j REJECT --reject-with icmp-host-prohibited</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash plain">-A FORWARD -j REJECT --reject-with icmp-host-prohibited</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>注意!</strong></span>非常关键:端口的配置必须要在如下配置的上方,放在下方无效.</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_175296">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">-A INPUT -j REJECT --reject-with icmp-host-prohibited</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">-A FORWARD -j REJECT --reject-with icmp-host-prohibited</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
输入i开始编辑,ESC键结束编辑,WQ保存并退出.</p>
<p>
重启防火墙</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_407086">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">$ service iptables restart</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
之后就可以在本机通过浏览器访问123.123.123.123:8080,就可以正常看到tomcat的默认欢迎页面了.</p>
<p>
<span><strong>总结</strong></span></p>
<p>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。</p>
<p>
参考链接:http://blog.csdn.net/itzhangdaopin/article/details/62044620</p>
頁:
[1]