大纲
前言
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