阿里云ECS每天一件事D7:安装tomcat8.0
这一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节点下,一个典型的配置如下:
<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="" 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的管理。
阿里云ECS每天一件事D7:安装tomcat8.0的更多相关文章
- 阿里云ECS每天一件事D1:配置SSH
近期因为项目需求,采购了两台阿里云ECS,选择的系统为CentOS 6.3 X64 安全加固版,额外买了160G的硬盘,应该够应付此项目的需求了. ECS默认已经配置好了sshd服务,可以使用root ...
- 阿里云ECS每天一件事D2:配置防火墙
在linux中配置防火墙是一件比较有风险的事情,尤其是在ECS中,一个不当心的操作,可能就会需要重置服务器. 包括阿里云的官方建议,不要配置防火墙,没有必要什么的吧啦吧啦…… (http://bbs. ...
- 阿里云ECS每天一件事D5:安装php5.4.34
原本是想把php和nginx合在一起来说的,不过考虑后,还是分开来做吧,已熟悉的更透彻一些. 1.准备类库 yum install autoconf automake libtool re2c fle ...
- 阿里云ECS每天一件事D3:挂载硬盘
阿里云的系统盘通常都不大,对于我们的日常使用,基本不足,因此都会额外购买至少一块硬盘,作为存储数据之用. 数据盘要经过分区.格式化.挂载三个步骤,方能正常使用. 1.数据盘的分区 先使用fdisk命 ...
- 阿里云ECS每天一件事D9:nginx1.7整合tomcat8.0
仅通过8080端口访问jsp显然不是一算是一个太好的方法,可以使用nginx的proxy_pass子模块,实现nginx转发jsp请求至tomcat. 典型的配置如下: server { listen ...
- 阿里云ECS每天一件事D8:nginx1.7整合php5.4
nginx本身的并不能解析php或者jsp,要转发给后端的php或者tomcat以及其他类似的应用程序服务器来提供服务. 首先我需要完成的配置是实现与php的整合,典型的配置信息如下: server ...
- 阿里云ECS每天一件事D6:安装nginx-1.6.2
自从接触nginx就开始喜欢上这个小东西了,似乎没什么特别的原因,就是喜欢而已. 1.安装环境的准备 yum install pcre pcre-devel openssl openssl-devel ...
- 阿里云ECS每天一件事D4:安装mysql5.5.40
Linux平台上MySQL也没什么好说的了,首先准备一下软件环境: yum install gcc gcc-c++ gcc-g77 autoconf automake make cmake bison ...
- 阿里云ECS 环境是CentOS 7.3安装mongodb3
CentOS安装mongodb https://www.cnblogs.com/zddzz/p/10069912.html CentOS安装mongodb 我的是阿里云ECS 环境是CentOS 7. ...
随机推荐
- lightoj 1038 Race to 1 Again
题意:给一个数,用这个数的因数除以这个数,直到为1时,求除的次数的期望. 设一个数的约数有M个,E[n] = (E[a[1]]+1)/M+(E[a[2]]+1)/M+...+(E[a[M]]+1)/M ...
- Linux系统管理员不可不知的命令:sudo
对Linux系统管理员或高级用户而言,sudo是必不可少的最重要的命令之一.当我们想要运行重要任务时,sudo提供了安全的提升权限.请耐心读本文,看看sudo能为你做些什么. sudo是个统管一切的命 ...
- 如何使代码审查更高效【摘自InfoQ】
代码审查者在审查代码时有非常多的东西需要关注.一个团队需要明确对于自己的项目哪些点是重要的,并不断在审查中就这些点进行检查. 人工审查代码是十分昂贵的,因此尽可能地使用自动化方式进行审查,如:代码 ...
- npm 安装参数中的-save和 -save-dev
当你为你的模块安装一个依赖模块时,正常情况下你得先安装他们(在模块根目录下npm install module-name),然后连同版本号手动将他们添加到模块配置文件package.json中的依赖里 ...
- Windows Server 2008防火墙问题及Sql Server2005用户登录问题
一.Windows Server 2008防火墙问题 1. 问题: 1.在 Windows 安全中心中单击“立即打开”以打开 Windows 防火墙时,会收到以下错误消息:安全中心无法打开 Wind ...
- jQuery中的类型判断
在JQuery中有一个type方法,在1.11.2中是这样写的 var class2type = {}; var toString = class2type.toString; jQuery.each ...
- <转>eclipse如何修改dynamic web module version .
--------------------------------------------------------------------------------------------- 原 ...
- php中禁止非法调用和硬路径引入文件的方法
php中禁止非法调用和硬路径引入文件的方法 在php中有一些公共的文件为了方便,我们会做一个公共文件,让不用的文件共同调用.为了禁止公共文件被非常单独调用,可以在文件上做一个常量,禁止非常调用:在公共 ...
- spoj TSUM - Triple Sums fft+容斥
题目链接 首先忽略 i < j < k这个条件.那么我们构造多项式$$A(x) = \sum_{1现在我们考虑容斥:1. $ (\sum_{}x)^3 = \sum_{}x^3 + 3\s ...
- 给进程分配cpu核心
新负责的程序采用生产者和消费者的模式,生产者的速度非常快,数据几乎都在内存里,处理起来很快.而消费者要频繁的I/O.所以打算给生产者和消费者分配不一样的核心. 生产者只需要一个核心就够了,其余分配给消 ...