大纲
前言
Tomcat Architecture
Tomcat Installation
Tomcat basic configuration
如何进入Tomcat manager页面?
配置Virtual_Host
总结
我们在前面的博客中介绍以及实现的
web架构都是基于”世界上最好的语言”PHP实现动态web站点, 事实上在当今的web服务器端还经常python,perl,Java Script等编程语言实现动态的web站点, 我们今天就介绍一款实现著名的开源软件tomcat;tomcat其实是一个Serlet Container,我们不能将其与nginx,httpd等软件混淆,tomcat其实是一款用C语言实现的Web Application Server, 就相当于我们之前的php-fpm,本文主要介绍tomcat的安装及基本使用进阶相关学习资料
如果要深入理解tomcat就必须要了解Java的技术体系, 由于本人水平太低, 这里没法给大家做具体的解释, 遂提供一些参考资料供大家深入学习.
安装过程
[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端口
测试

现在我们搭建了最基础的
tomcat服务器, 上面没有跑我们的JSP脚本, 是tomcat提供的一个manual页面, 页面的左上方有几个图形界面的管理界面server status,manager app,Host manager, 我们需要提供用户名和密码才能进入并配置它们
修改/usr/local/tomcat/conf/tomcat-users.xml文件

重启tomcat测试
tomcat默认的用户认证是basic认证, 不进行加密, 如果有人在你的网络中进行抓包很容易截获用户名密码..你现在的表情很可能是下面这样的
然而, 我们现在登录
manager-gui然后使用wire shark进行抓包
所以建议大家不要使用
basic认证(⊙o⊙)…, 刚才有点跑题了, 我们来看一下
manager-gui界面, 这是tomcat-status界面, 可以看到内存的占用情况
这是
tomcat-host-manager界面, 可以在这这里部署virtual_Host
我们早已熟悉在
httpd,nginx虚拟主机的配置, 我们现在来看看如何在tomcat上配置虚拟主机吧!
对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 "%r" %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测试虚拟主机
这个页面文件在我们以后的实验中有大用!!
本篇文章简单的介绍了
tomcat的使用, 下几篇文章才是重中之重, 大家千万不要错过 !作者水平很低, 如果有错误及时指出, 如果你觉得本文写的好请点一波赞~(≧▽≦)/~
作者: AnyISaIln QQ: 1449472454
感谢: MageEdu
本文出自 “运维工程师之路” 博客,请务必保留此出处http://anyisalin.blog.51cto.com/10917514/1766564
原文地址:http://anyisalin.blog.51cto.com/10917514/1766564