Loading... <h1 style="font-size: 2.6em;margin: 1.2em 0px 0.6em;font-family: inherit;line-height: 1.1;color: inherit"> <span style="font-family: 楷体, 楷体_GB2312, SimKai">tomcat基础进阶</span></h1> <hr /> <ul class=" list-paddingleft-2"> <li> <p></p> </li> <li> <p></p> </li> <li> <p>前言</p> </li> <li> <p>Tomcat Architecture</p> </li> <li> <p>Tomcat Installation</p> </li> <li> <p>Tomcat basic configuration</p> </li> <ul class=" list-paddingleft-2"> <li> <p>如何进入Tomcat manager页面?</p> </li> <li> <p>配置Virtual_Host</p> </li> </ul> <li> <p>总结</p> </li> </ul> <h2 id="前言" style="font-family: inherit;line-height: 1.1;color: inherit;margin: 1.2em 0px 0.6em;font-size: 2.15em">前言</h2> <blockquote><p style="margin-top: 0px;margin-bottom: 1.1em;font-size: 1em;line-height: 1.6"><span style="font-family: 黑体, SimHei;font-size: 16px">我们在前面的博客中介绍以及实现的</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">web</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">架构都是基于”世界上最好的语言”</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">PHP</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">实现动态</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">web</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">站点, 事实上在当今的</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">web</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">服务器端还经常</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">python</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">,</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">perl</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">,</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">Java Script</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">等编程语言实现动态的</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">web</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">站点, 我们今天就介绍一款实现著名的开源软件</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">tomcat</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">; </span><code><span style="font-family: 黑体, SimHei;font-size: 16px">tomcat</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">其实是一个</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">Serlet Container</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">,我们不能将其与</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">nginx</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">,</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">httpd</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">等软件混淆, </span><code><span style="font-family: 黑体, SimHei;font-size: 16px">tomcat</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">其实是一款用C语言实现的</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">Web Application Server</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">, 就相当于我们之前的</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">php-fpm</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">,本文主要介绍</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">tomcat</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">的安装及基本使用进阶</span></p> <p style="margin-top: 0px;margin-bottom: 1.1em;font-size: 1em;line-height: 1.6"><span style="font-family: 黑体, SimHei;font-size: 16px"><strong style="line-height: 1.6">相关学习资料</strong> <br />如果要深入理解</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">tomcat</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">就必须要了解</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">Java</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">的技术体系, 由于本人水平太低, 这里没法给大家做具体的解释, 遂提供一些参考资料供大家深入学习.</span></p> <p style="margin-top: 0px;margin-bottom: 0px;font-size: 1em;line-height: 1.6"><span style="font-family: 黑体, SimHei;font-size: 16px">Tomcat官方站点</span><span style="font-family: 黑体, SimHei;font-size: 16px"> <br /></span><span style="font-family: 黑体, SimHei;font-size: 16px">Java Time Line</span></p> </blockquote> <h2 id="tomcat-architecture" style="font-family: inherit;line-height: 1.1;color: inherit;margin: 1.2em 0px 0.6em;font-size: 2.15em">Tomcat Architecture</h2> <p style="margin-top: 0px;margin-bottom: 1.1em;line-height: 1.6"><img src="//cto.wang/usr/uploads/2016/07/20160703161450-52.png" title="1461289507257236.png" alt="blob.png" /></p> <p style="margin-top: 0px;margin-bottom: 1.1em;line-height: 1.6"><img src="//cto.wang/usr/uploads/2016/07/20160703161450-51.png" title="1461289511315128.png" alt="blob.png" /></p> <p style="margin-top: 0px;margin-bottom: 1.1em;line-height: 1.6"></p> <h2 id="tomcat-installation" style="font-family: inherit;line-height: 1.1;color: inherit;margin: 1.2em 0px 0.6em;font-size: 2.15em">Tomcat Installation</h2> <blockquote><p style="margin-top: 0px;margin-bottom: 1.1em;font-size: 1em;line-height: 1.6"><span style="font-family: 黑体, SimHei;font-size: 16px">安装环境及软件版本:</span></p> <blockquote><p style="margin-top: 0px;margin-bottom: 0px;font-size: 1em;line-height: 1.6"><span style="font-family: 黑体, SimHei;font-size: 16px"><strong style="line-height: 1.6">System</strong>:</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">CentOS6.7</span></code><span style="font-family: 黑体, SimHei;font-size: 16px"> <br /><strong style="line-height: 1.6">Tomcat</strong>: </span><code><span style="font-family: 黑体, SimHei;font-size: 16px">tomcat-8.0.33(binary distributions)</span></code><span style="font-family: 黑体, SimHei;font-size: 16px"> <br /><strong style="line-height: 1.6">JDK</strong>: </span><code><span style="font-family: 黑体, SimHei;font-size: 16px">java-1.8.0-openjdk.x86_64(yum install)</span></code></p> </blockquote> </blockquote> <p style="margin-top: 0px;margin-bottom: 1.1em;line-height: 1.6"><strong style="line-height: 1.6">安装过程</strong></p> <pre class="brush:bash;toolbar:false">[root@node1 ~]# [root@node1 ~]# wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0.33/bin/apache-tomcat-8.0.33.tar.gz [root@node1 ~]# tar xf apache-tomcat-8.0.33.tar.gz -C /usr/local/ [root@node1 ~]# cd /usr/local ; ln -sv apache-tomcat-8.0.33 tomcat ; cd ~ [root@node1 ~]# wget http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jdk-8u77-linux-x64.rpm #如果下载出错, 使用浏览器下载 [root@node1 ~]# rpm -ivh jdk-8u77-linux-x64.rpm #安装JDK [root@node1 ~]# vim /etc/profile.d/java.sh #定义JAVA_HOME export JAVA_HOME=/usr/java/latest export PATH=$JAVA_HOME/bin:$PATH [root@node1 ~]# vim /etc/profile.d/tomcat.sh #配置tomcat的环境变量 export CATALINA_BASE=/usr/local/tomcat export PATH=$CATALINA_BASE/bin:$PATH [root@node1 ~]# source /etc/profile.d/tomcat.sh [root@node1 ~]# source /etc/profile.d/java.sh [root@node1 ~]# catalina.sh start #启动tomcat, 默认监听在8080端口</pre> <p style="margin-top: 0px;margin-bottom: 1.1em;line-height: 1.6"><strong style="line-height: 1.6"></strong></p> <p style="margin-top: 0px;margin-bottom: 1.1em;line-height: 1.6"><strong style="line-height: 1.6">测试</strong></p> <p style="margin-top: 0px;margin-bottom: 1.1em;line-height: 1.6"><img src="//cto.wang/usr/uploads/2016/07/20160703161450-69.png" title="1461289519991057.png" alt="blob.png" /></p> <h2 id="tomcat-basic-configuration" style="font-family: inherit;line-height: 1.1;color: inherit;margin: 1.2em 0px 0.6em;font-size: 2.15em">Tomcat basic configuration</h2> <h3 id="如何进入tomcat-manager页面" style="font-family: inherit;line-height: 1.6;color: inherit;margin: 1.2em 0px 0.6em;font-size: 1.7em">如何进入Tomcat manager页面?</h3> <blockquote><p style="margin-top: 0px;margin-bottom: 0px;font-size: 1em;line-height: 1.6"><span style="font-size: 16px">现在我们搭建了最基础的</span><code><span style="font-size: 16px">tomcat</span></code><span style="font-size: 16px">服务器, 上面没有跑我们的</span><code><span style="font-size: 16px">JSP</span></code><span style="font-size: 16px">脚本, 是</span><code><span style="font-size: 16px">tomcat</span></code><span style="font-size: 16px">提供的一个</span><code><span style="font-size: 16px">manual</span></code><span style="font-size: 16px">页面, 页面的左上方有几个图形界面的管理界面</span><code><span style="font-size: 16px">server status</span></code><span style="font-size: 16px">,</span><code><span style="font-size: 16px">manager app</span></code><span style="font-size: 16px">, </span><code><span style="font-size: 16px">Host manager</span></code><span style="font-size: 16px">, 我们需要提供用户名和密码才能进入并配置它们</span></p> </blockquote> <p style="margin-top: 0px;margin-bottom: 1.1em;line-height: 1.6"><strong style="line-height: 1.6">修改<code>/usr/local/tomcat/conf/tomcat-users.xml</code>文件</strong></p> <p style="margin-top: 0px;margin-bottom: 1.1em;line-height: 1.6"><img src="//cto.wang/usr/uploads/2016/07/20160703161451-25.png" title="1461289766417118.png" alt="blob.png" /></p> <p style="margin-top: 0px;margin-bottom: 1.1em;line-height: 1.6"><strong style="line-height: 1.6">重启<code>tomcat</code>测试</strong></p> <blockquote><p style="margin-top: 0px;margin-bottom: 1.1em;font-size: 1em;line-height: 1.6"><code><span style="font-size: 16px;font-family: 黑体, SimHei">tomcat</span></code><span style="font-size: 16px;font-family: 黑体, SimHei">默认的用户认证是</span><code><span style="font-size: 16px;font-family: 黑体, SimHei">basic</span></code><span style="font-size: 16px;font-family: 黑体, SimHei">认证, 不进行加密, 如果有人在你的网络中进行抓包很容易截获用户名密码..</span></p> <p style="margin-top: 0px;margin-bottom: 1.1em;font-size: 1em;line-height: 1.6"><span style="font-size: 16px;font-family: 黑体, SimHei"><strong style="line-height: 1.6">你现在的表情很可能是下面这样的</strong></span></p> <p style="margin-top: 0px;margin-bottom: 1.1em;font-size: 1em;line-height: 1.6"><img src="//cto.wang/usr/uploads/2016/07/20160703161451-80.png" title="1461289527853148.png" alt="blob.png" /> </p> <p style="margin-top: 0px;margin-bottom: 1.1em;font-size: 1em;line-height: 1.6"><span style="font-family: 黑体, SimHei;font-size: 16px"><strong style="line-height: 1.6">然而, 我们现在登录</strong><strong style="line-height: 1.6"><code>manager-gui</code>然后使用<code>wire shark</code>进行抓包</strong> </span></p> <p style="margin-top: 0px;margin-bottom: 1.1em;font-size: 1em;line-height: 1.6"><img src="//cto.wang/usr/uploads/2016/07/20160703161451-79.png" title="1461289530454474.png" alt="blob.png" /></p> <p style="margin-top: 0px;margin-bottom: 1.1em;font-size: 1em;line-height: 1.6"><img src="//cto.wang/usr/uploads/2016/07/20160703161451-66.png" title="1461289536697048.png" alt="blob.png" /></p> <p style="margin-top: 0px;margin-bottom: 1.1em;font-size: 1em;line-height: 1.6"><span style="font-family: 黑体, SimHei;font-size: 16px"><strong style="line-height: 1.6">所以建议大家不要使用</strong><strong style="line-height: 1.6"><code>basic</code>认证</strong></span></p> <p style="margin-top: 0px;margin-bottom: 1.1em;font-size: 1em;line-height: 1.6"><span style="font-family: 黑体, SimHei;font-size: 16px">(⊙o⊙)…, 刚才有点跑题了, 我们来看一下</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">manager-gui</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">界面, 这是</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">tomcat-status</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">界面, 可以看到内存的占用情况 </span></p> <p style="margin-top: 0px;margin-bottom: 1.1em;font-size: 1em;line-height: 1.6"><img src="//cto.wang/usr/uploads/2016/07/20160703161451-18.png" title="1461289544397876.png" alt="blob.png" /></p> <p style="margin-top: 0px;margin-bottom: 0px;font-size: 1em;line-height: 1.6"><span style="font-family: 黑体, SimHei;font-size: 16px">这是</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">tomcat-host-manager</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">界面, 可以在这这里部署</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">virtual_Host</span></code><span style="font-family: 黑体, SimHei;font-size: 16px"> </span></p> <p style="margin-top: 0px;margin-bottom: 0px;font-size: 1em;line-height: 1.6"><img src="//cto.wang/usr/uploads/2016/07/20160703161452-28.png" title="1461289550694262.png" alt="blob.png" /></p> </blockquote> <h3 id="配置virtualhost" style="font-family: inherit;line-height: 1.6;color: inherit;margin: 1.2em 0px 0.6em;font-size: 1.7em">配置Virtual_Host</h3> <blockquote><p style="margin-top: 0px;margin-bottom: 0px;font-size: 1em;line-height: 1.6"><span style="font-size: 16px;font-family: 黑体, SimHei">我们早已熟悉在</span><code><span style="font-size: 16px;font-family: 黑体, SimHei">httpd</span></code><span style="font-size: 16px;font-family: 黑体, SimHei">,</span><code><span style="font-size: 16px;font-family: 黑体, SimHei">nginx</span></code><span style="font-size: 16px;font-family: 黑体, SimHei">虚拟主机的配置, 我们现在来看看如何在</span><code><span style="font-size: 16px;font-family: 黑体, SimHei">tomcat</span></code><span style="font-size: 16px;font-family: 黑体, SimHei">上配置虚拟主机吧!</span></p> </blockquote> <pre class="brush:bash;toolbar:false">对tomcat进行配置之前, 我们需要了解其配置文件的结构 server.xml配置文件的结构 <server> <service> <connector> <Engine> <Host> <Context> </Context> .... </Host> .... </Engine> ... </connector> ... </service> </server> 其中, service是用来连接connector和server的, connector可以有多个, Engine、Host、Context都可以有多个 顾名思义, 我们的虚拟主机应该定义在<Host> </Host> 中 我们先来看一个最简单的VirtualHost定义 <Host name="www.anyisalin.com" appBase="/data/webapps" /> 上述意思为. FQDN为www.anyisalin.com, 虚拟主机的路径在/data/webapps, 但是我们没有定义<Context>, <Context>就类似于httpd中的Alias, Nginx中的location #一次完整的虚拟主机配置过程 [root@node2 conf]# vim server.xml, 在engine中添加如下内容{位置一定要放对} <Engine name="catalina" defaultHost="web1.anyisalin.com" jvmRoute=TomcatA/> #修改默认虚拟主机 #添加虚拟主机 <Host name="web1.anyisalin.com" appBase="/data/webapps/" unpackWARS="true" autoDeploy="true"> <Context path="" docBase="/data/webapps" reloadable="true" /> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/data/logs" prefix="web1_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" /> </Host> [root@node2 conf]# mkdir -pv /data/webapps/{classes,META-INF,WEB-INF,lib} #创建虚拟主机的主目录 [root@node2 conf]# cd /data/webapps/ [root@node2 webapps]# vim index.jsp #创建主页文件 <%@ page language="java" %> <html> <head><title>TomcatA</title></head> <body> <h1><font color="red">TomcatA.magedu.com</font></h1> <table align="centre" border="1"> <tr> <td>Session ID</td> <% session.setAttribute("magedu.com","magedu.com"); %> <td><%= session.getId() %></td> </tr> <tr> <td>Created on</td> <td><%= session.getCreationTime() %></td> </tr> </table> </body> </html> #保存退出, 重启tomcat [root@node2 webapps]# catalina.sh stop [root@node2 webapps]# catalina.sh start</pre> <p style="margin-top: 0px;margin-bottom: 1.1em;line-height: 1.6"><strong style="line-height: 1.6">测试虚拟主机</strong></p> <blockquote><p style="margin-top: 0px;margin-bottom: 0px;font-size: 1em;line-height: 1.6"><span style="font-family: 黑体, SimHei;font-size: 16px">这个页面文件在我们以后的实验中有大用!!</span></p> <p style="margin-top: 0px;margin-bottom: 0px;font-size: 1em;line-height: 1.6"><img src="//cto.wang/usr/uploads/2016/07/20160703161452-69.png" title="1461289560921063.png" alt="blob.png" /></p> </blockquote> <p style="margin-top: 0px;margin-bottom: 1.1em;line-height: 1.6"></p> <h2 id="总结" style="font-family: inherit;line-height: 1.1;color: inherit;margin: 1.2em 0px 0.6em;font-size: 2.15em">总结</h2> <blockquote><p style="margin-top: 0px;margin-bottom: 1.1em;font-size: 1em;line-height: 1.6"><span style="font-family: 黑体, SimHei;font-size: 16px">本篇文章简单的介绍了</span><code><span style="font-family: 黑体, SimHei;font-size: 16px">tomcat</span></code><span style="font-family: 黑体, SimHei;font-size: 16px">的使用, 下几篇文章才是重中之重, 大家千万不要错过 !</span></p> <p style="margin-top: 0px;margin-bottom: 0px;font-size: 1em;line-height: 1.6"><span style="font-family: 黑体, SimHei;font-size: 16px">作者水平很低, 如果有错误及时指出, 如果你觉得本文写的好请点一波赞~(≧▽≦)/~ <br />作者: AnyISaIln QQ: 1449472454 <br />感谢: MageEdu</span></p> </blockquote> <p></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信