这一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的更多相关文章

  1. 阿里云ECS每天一件事D1:配置SSH

    近期因为项目需求,采购了两台阿里云ECS,选择的系统为CentOS 6.3 X64 安全加固版,额外买了160G的硬盘,应该够应付此项目的需求了. ECS默认已经配置好了sshd服务,可以使用root ...

  2. 阿里云ECS每天一件事D2:配置防火墙

    在linux中配置防火墙是一件比较有风险的事情,尤其是在ECS中,一个不当心的操作,可能就会需要重置服务器. 包括阿里云的官方建议,不要配置防火墙,没有必要什么的吧啦吧啦…… (http://bbs. ...

  3. 阿里云ECS每天一件事D5:安装php5.4.34

    原本是想把php和nginx合在一起来说的,不过考虑后,还是分开来做吧,已熟悉的更透彻一些. 1.准备类库 yum install autoconf automake libtool re2c fle ...

  4. 阿里云ECS每天一件事D3:挂载硬盘

    阿里云的系统盘通常都不大,对于我们的日常使用,基本不足,因此都会额外购买至少一块硬盘,作为存储数据之用. 数据盘要经过分区.格式化.挂载三个步骤,方能正常使用.  1.数据盘的分区 先使用fdisk命 ...

  5. 阿里云ECS每天一件事D9:nginx1.7整合tomcat8.0

    仅通过8080端口访问jsp显然不是一算是一个太好的方法,可以使用nginx的proxy_pass子模块,实现nginx转发jsp请求至tomcat. 典型的配置如下: server { listen ...

  6. 阿里云ECS每天一件事D8:nginx1.7整合php5.4

    nginx本身的并不能解析php或者jsp,要转发给后端的php或者tomcat以及其他类似的应用程序服务器来提供服务. 首先我需要完成的配置是实现与php的整合,典型的配置信息如下: server ...

  7. 阿里云ECS每天一件事D6:安装nginx-1.6.2

    自从接触nginx就开始喜欢上这个小东西了,似乎没什么特别的原因,就是喜欢而已. 1.安装环境的准备 yum install pcre pcre-devel openssl openssl-devel ...

  8. 阿里云ECS每天一件事D4:安装mysql5.5.40

    Linux平台上MySQL也没什么好说的了,首先准备一下软件环境: yum install gcc gcc-c++ gcc-g77 autoconf automake make cmake bison ...

  9. 阿里云ECS 环境是CentOS 7.3安装mongodb3

    CentOS安装mongodb https://www.cnblogs.com/zddzz/p/10069912.html CentOS安装mongodb 我的是阿里云ECS 环境是CentOS 7. ...

随机推荐

  1. 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 ...

  2. Linux系统管理员不可不知的命令:sudo

    对Linux系统管理员或高级用户而言,sudo是必不可少的最重要的命令之一.当我们想要运行重要任务时,sudo提供了安全的提升权限.请耐心读本文,看看sudo能为你做些什么. sudo是个统管一切的命 ...

  3. 如何使代码审查更高效【摘自InfoQ】

      代码审查者在审查代码时有非常多的东西需要关注.一个团队需要明确对于自己的项目哪些点是重要的,并不断在审查中就这些点进行检查. 人工审查代码是十分昂贵的,因此尽可能地使用自动化方式进行审查,如:代码 ...

  4. npm 安装参数中的-save和 -save-dev

    当你为你的模块安装一个依赖模块时,正常情况下你得先安装他们(在模块根目录下npm install module-name),然后连同版本号手动将他们添加到模块配置文件package.json中的依赖里 ...

  5. Windows Server 2008防火墙问题及Sql Server2005用户登录问题

    一.Windows Server 2008防火墙问题 1.  问题: 1.在 Windows 安全中心中单击“立即打开”以打开 Windows 防火墙时,会收到以下错误消息:安全中心无法打开 Wind ...

  6. jQuery中的类型判断

    在JQuery中有一个type方法,在1.11.2中是这样写的 var class2type = {}; var toString = class2type.toString; jQuery.each ...

  7. <转>eclipse如何修改dynamic web module version .

         --------------------------------------------------------------------------------------------- 原 ...

  8. php中禁止非法调用和硬路径引入文件的方法

    php中禁止非法调用和硬路径引入文件的方法 在php中有一些公共的文件为了方便,我们会做一个公共文件,让不用的文件共同调用.为了禁止公共文件被非常单独调用,可以在文件上做一个常量,禁止非常调用:在公共 ...

  9. spoj TSUM - Triple Sums fft+容斥

    题目链接 首先忽略 i < j < k这个条件.那么我们构造多项式$$A(x) = \sum_{1现在我们考虑容斥:1. $ (\sum_{}x)^3 = \sum_{}x^3 + 3\s ...

  10. 给进程分配cpu核心

    新负责的程序采用生产者和消费者的模式,生产者的速度非常快,数据几乎都在内存里,处理起来很快.而消费者要频繁的I/O.所以打算给生产者和消费者分配不一样的核心. 生产者只需要一个核心就够了,其余分配给消 ...