这一D,跨越了几个月啊,人是越来越懒,集中写一些,就懒得再记录了。也是因为测试需要,搭建个jsp的服务环境,只是测试,考虑用tomcat就够了。
在Tomcat官网下载最新Core版本,下载之后,将文件解压缩在/usr/local/tomcat8.0.21。前提是要安装了JDK。
1、创建系统变量
修改/etc/profile,添加:
CATALINA_HOME='/usr/local/tomcat8.0.21' CATALINA_BASE=$CATALINA_HOME PATH=$PATH:$CATALINA_HOME/bin export CATALINA_HOME CATALINA_BASE PATH
2、虚拟主机,和应用程序配置
可以直接修改$CATALINA_HOME/conf/server.xml文件,在里面进行修改,修改内容主要在Service节点的子节点Engine节点下,一个典型的配置如下:
1 <Host name="domain" appBase="网站目录" />
“domain”为网站域名;“网站目录”可以是 $CATALINA_HOME 下的子目录,也可以是系统绝对路径,例如:/data/web/demo。
但是此时在此目录下创建index.jsp时,你会发现并无法访问。这是因为Tomcat的应用管理逻辑,有如下两个方案可以尝试操作:
1) 创建网站默认的应用
<Host name="domain" appBase="网站目录"> <Context path="/|" docBase="网站目录" /> </Host>
Context节点创建了一个子应用,path为路径,可为空或者/,都表示"domain"下的根应用;"网站目录"同于Host配置。
2)将文件存储在ROOT子目录中
ROOT是Host默认的子应用,可以在Host节点中,appBase属性指定的目录下面,创建ROOT目录用于存放文件。
3、启动
配置完成后,可以使用bin目录下的configtest.sh来测试配置文件,startup.sh启动服务,shutdown.sh关闭服务。
启动之后,即可使用http://domain:8080/的方式来访问网站。
4、安全管理
Tomcat自带一个管理工具,可以管理Host和Context,可以通过http://localhost:8080/访问管理首页。如下图:
可以看到右上方,有几个管理入口,此时管理时匿名的,只要进入就可以操作,这是不安全的行为,此时要修改$CATALINA_HOME/conf/tomcat-users.xml文件,修改其中的role和user配置字节,例如:
<role rolename="admin" /> <role rolename="admin-gui" /> <role rolename="admin-script" /> <role rolename="manager-gui" /> <role rolename="manager-script" /> <role rolename="manager-jmx" /> <role rolename="manager-status" /> <user username="gary" password="123456" roles="admin,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />
role字节,表示启用哪些Tomcat默认的管理角色,User字节,创建了管理人员信息,同时赋予对应的角色功能。
5、扩展操作
Tomcat自带的管理工具还是不错的,可以管理Host、App,那么,是否可将管理工具用于每一个虚拟子站中?当然是可以的!!!
方法就是利用官方的管理工具创建Host,如图:
意义同于server.xml里的配置项,只是Manager App务必要勾选上,点击Add之后,会在$CATALINA_HOME/conf/Catalina下生成同name的目录,里面就包含一个manager.xml文件。
然后,按照之前的虚拟主机配置方法,修改server.xml添加主机之后,即可使用:http://domain:8080/manager管理该主机了。
注意:
1). 在点击了“Add”之后,会发现在上方的"List Host"列表中出现了新添加的主机,但是在Tomcat重启后,会无效,这应该是因为Tomcat运行权限的问题,无法写入Tomcat配置文件,这个问题以后再考虑研究一下;
2). 虚拟主机中配置好的管理应用,不会有过多的管理项,只有对Contex的管理。