一 什么是tomcat

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

Tomcat是一个JSP/Servlet容器。其作为Servlet容器,有三种工作模式:独立的Servlet容器、进程内的Servlet容器和进程外的Servlet容器。

二 tomcat 的版本:

tomcat 现有的版本有tomcat 7 ,tomcat 8 tomcat8.5,tomcat 9



我们可以在图片中看到tomcat8.0版本后续也是不会再进行更新和升级了,我们可以使用tomcat8.5和9.0

三 tomcat的下载

3.1 tomcat9版本下载链接

https://tomcat.apache.org/download-90.cgi

3.2 tomcat8.5版本下载链接

https://tomcat.apache.org/download-80.cgi

我们可以根据我们需要版本和系统进行下载。

四 tomcat的安装

tomcat的安装,由于该应用常用在linux服务器上,我们的安装教程是基于centos7进行安装:

4.1 java环境配置

tomcat 9 版本需要java8以上才能支持
cd /tmp && wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
rpm -ivh jdk-8u131-linux-x64.rpm
环境变量:
vi + /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_131
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH #加载环境变量
source /etc/profile

4.2 tomcat安装

# 安装wget
yum install wget -y
# 下载tomcat包
cd /tmp &&wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-9/v9.0.13/bin/apache-tomcat-9.0.13.tar.gz
# 解压
tar -xzvf apache-tomcat-9.0.13.tar.gz
# 移动到指定位置并重命名
mv /tmp/apache-tomcat-9.0.13 /opt/tomcat9
# 启动 tomcat
/opt/tomcat9/bin/startup.sh
或者
/opt/tomcat9/bin/catalina.sh start
#
# 关闭tomcat
/opt/tomcat9/bin/shutdown.sh
或者
/opt/tomcat9/bin/catalina.sh stop
还可以直接kill 进程号,当我们的tomcat是有用户进行访问的时候,我们杀死不了这个进程,只能通过强制杀死 kill -9
# 查看当前的版本
/opt/tomcat9/bin/version.sh # 开放端口
tomcat 默认访问端口是8080,我们可以在conf目录的文件server.xml的69行进行端口更改。 firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
如果是在阿里云进行配置的话,记得打开安全组的8080端口.

访问:

路径是 ip:8080(tomcat默认是绑定ip 0.0.0.0)

五 tomcat的目录结构

bin  # 脚本启动目录
conf #配置文件目录
lib #tomcat运行的依赖包
logs #日志文件目录
temp #临时文件目录
webapps # 用来存放应用程序
--docs # 文档
--examples # 示例
--host-manager # 虚拟主机web管理界面
--manager # 管理界面
--ROOT # 默认访问的应用程序
work # 部署的Web应用程序的临时工作目录,当我们需要清除缓存的时候可以将该目录删除.然后重启动tomcat.

六 tomcat的初始化

根据需求来进行初始化

  1. 第一更改端口:

    编辑配置文件 server.xml .

    大约在69行,将 port = "8080"更改成我们想绑定的端口.

    <Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" />
  2. 配置编码

    为了避免程序上的一些请求和返回的中文乱码问题.我们需要配置.

    编辑配置文件 server.xml .

    大约在69行后,添加 useBodyEncodingForURI="true" URIEncoding="UTF-8"

<Connector port="8080" protocol="HTTP/1.1"
useBodyEncodingForURI="true" URIEncoding="UTF-8"
connectionTimeout="20000"
redirectPort="8443" />
  1. 配置manager

    见tomcat-manager的文章

七 tomcat的启动

# 启动 tomcat
/opt/tomcat9/bin/startup.sh
或者
/opt/tomcat9/bin/catalina.sh start
#
# 关闭tomcat
/opt/tomcat9/bin/shutdown.sh
或者
/opt/tomcat9/bin/catalina.sh stop
还可以直接kill 进程号,当我们的tomcat是有用户进行访问的时候,我们杀死不了这个进程,只能通过强制杀死 kill -9
# 查看当前的版本
/opt/tomcat9/bin/version.sh

八 tomcat更改绑定ip

在生产环境我们经常有这样的需求,将tomcat的绑定ip更改.不让外部人可以直接访问.

tomcat默认的绑定是 0.0.0.0 ,也就意味着这样外网就可以访问我们的tomcat,

但是我们想要我们的tomcat不让外网访问

解决方法:

  1. 更改绑定ip,绑定127.0.0.1,这样就只能本机访问了

    编辑配置文件 server.xml .

    大约在69行,在配置端口的地方,添加 :address="127.0.0.1"

    <Connector port="8080" protocol="HTTP/1.1"
    address="127.0.0.1"
    connectionTimeout="20000"
    redirectPort="8443" />
  2. 更改防火墙规则,不对外开放8080端口.

    firewall-cmd  --remove-port=8080/tcp --permanent
    firewall-cmd --reload

九 tomcat隐藏manager界面

通过nginx重定向的隐藏界面

十 jenkins使用插件自动部署tomcat

使用jenkins来进行发布war包

  1. 除了常规的将tomcat暂停后,进行删除原来的war包,scp传输新的war包,启动tomcat
  2. 还可以使用插件 deploy war/ear to a container ,通过tomcat的manager界面来进行 来进行发布。

deploy war/ear to a container:发布war包到服务器

deploy artifacts to maven reepository:发布到maven服务器

WAR/EAR files: 填的是生成的wa包的路径。ugou-admin/target/ugou-admin.war(实际路径是:/root/.jenkins/jobs/ugou-admin-online/workspace/ugou-admin/target/ugou-admin.war)

Context path: 填的是上传到tomcat的路径。即使用localhost/(content path设置的名字)来访问项目

比如我的项目访问路径是 :http://127.0.0.1/ugou-admin/ 那么这里我应该填入的就是 /ugou-admin

Container: 选择我们使用的tomcat版本。

Manager user name /Manager password: 填入我们在$CATALINA_BASE/conf/tomcat-users.xml 配置的用户名和密码

Tomcat URL : 填入我们的tomcat url 比如我们设置的端口是80 那么直接填入ip就行了 :http://127.0.0.1/,如果有端口,那么我们就需要填入对应的端口。

**Deploy on failure : ** 构建失败是否还发布。勾选表示是,不勾选表示不是,生产环境建议不勾选。

十一 tomcat 部署项目的三种方法(补充)

11.1 方法一 把war包添加到webapps

直接将 war 包放在 ./webapps 下

tomcat 会自动将war解压

11.2 方法二 更改配置文件 server.xml(官方不建议使用该方法)

我们可以在 ./conf/目录下找到server.xml文件

我们需要在 里面添加上我们的项目的访问路径和存放路径配置

<Context  path="/djx" docBase="/tmp/djx/" reloadable="true" />
path 指的是 访问路径
docBase 指的是项目存放路径
reloadable 设置为true表示Catalina将监视 /WEB-INF/classes/和/WEB-INF/lib的文件,一旦发生更改将自动重新加载Web应用程序。它可以在在开发的时候使用,但需要消耗更多资源,官方文档写到不建议在生产环境上使用,所以它的默认值是false. 8.0版本文档
Set to true if you want Catalina to monitor classes in /WEB-INF/classes/ and /WEB-INF/lib for changes, and automatically reload the web application if a change is detected. This feature is very useful during application development, but it requires significant runtime overhead and is not recommended for use on deployed production applications. That's why the default setting for this attribute is false. You can use the Manager web application, however, to trigger reloads of deployed applications on demand.

配置示例:

11.3 方法三 使用xml配置文件(建议方法)

在 ./conf/Catalina/localhost/ 下添加xml配置文件.

示例: 我要让/tmp/www/ 里的网站部署在tomcat上 。

vim  djx.xml    # 文件的名称也就是我们后面访问时要在ip端口加的后缀

djx.xml 内容,docBase 后面填入项目的路径

<Context  docBase="/tmp/www/" />

然后我们重启tomcat,然后在浏览器 192.168.1.198/djx/访问的文件名 即可访问到我们的项目文件了

11.4 注意点

注意点一

方法三中如果我想直接通过ip+端口就能直接访问到我部署的项目,那么我们这个xml 文件的名称就应该是 ROOT.xml(要全都大写哦)

第三种的文件命名示例:

注意点二

对于参数reloadable="true" ,在方法二特别说明了,大家注意。

tomcat安装以及常用配置的更多相关文章

  1. Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口

    Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口 >>>>>>>>>& ...

  2. Linux工具安装和常用配置

    1 常用开发工具安装 1 安装Mysql ①基本安装 wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm: s ...

  3. 【Tomcat】Tomcat安装及Eclipse配置教程

    ==================================================================================================== ...

  4. 【Linux】Tomcat安装及端口配置

    安装环境 :Linux(CentOS 64位) 安装软件 : apache-tomcat-9.0.20.tar.gz(下载地址http://tomcat.apache.org/) 一:JDK安装配置 ...

  5. Linux Tomcat安装及端口配置

    1.  JDK安装配置 待写 2. Tomcat安装配置 1,下载Tomcat链接,到启动测试. 将文件apache-tomcat-8.5.50.tar.gz移动到/usr/tomcat/下,并解压 ...

  6. Tomcat安装及环境配置

    欢迎任何形式的转载,但请务必注明出处. 本章内容 安装 环境变量入口 三个系统变量配置 测试安装配置是否成功 安装之前请安装jdk并进行环境配置(点击进入jdk教程) 一.安装 点击进入官网下载 二. ...

  7. Windows平台下Java,tomcat安装与环境配置

    问题描述:在Windows下面做Java web相关的项目的时候,Java和tomcat是基础,这里记载一下Java环境的配置以及tomcat的安装和配置. 使用工具:Windows.jdk安装包.t ...

  8. 为tomcat 安装 native 和配置apr

    yum install -y apr-devel openssl-devel gcc 安装native cd /lxyy/tomcat7/bin tar zxvf tomcat-native.tar. ...

  9. Sublime 插件安装、常用配置

    安装:sublime + 插件 安装Sublime: 官网:http://www.sublimetext.com/ 安装package control组件,之后我们会使用该组件给Sublime安装常用 ...

随机推荐

  1. readLine() 和 "\r","\n" 问题

    很多输入流中都有一个函数readLine(),我们也经常使用这个函数,但有时如果不认真考虑,这个函数也会带来一些小麻烦. 如果我们是从控制台读入的话,我们也许没有想过readLine函数到底是根据&q ...

  2. hdu 5009 离散化

    http://acm.hdu.edu.cn/showproblem.php?pid=5009 有一段序列,涂连续一段子序列的代价为该子序列出现不同数字个数的平方,求最小代价涂完整个序列. ai有10^ ...

  3. 取得 APP 自己的版本号 (跨 4 个平台)

    http://www.cnblogs.com/onechen/p/3627942.html XE7 源码下载:[原创]取得APP自己的版本号(狠跨4个平台)XE7.zip XE6 源码下载:[原创]取 ...

  4. MySQL Route负载均衡与读写分离Docker环境使用

    Docker环境描述 主机名 部署服务 备注 MySQL Route MySQL Route 部署在宿主机上的MySQL Route服务 MySQL Master1 MySQL 5.7.16 Dock ...

  5. JSONP的原理与实现(基于jQuery)

    为什么会有JSONP?因为我们使用AJAX,使用AJAX可能就会遇到跨域的需求,如何解决呢,对,就是JSONP. 这里注意下JSON和JSONP不是一类,虽然他们只是一个字母只差,但是实际差别很大.这 ...

  6. CSharp程序员学Android开发---1.初识AndriodIDE,掌握工具使用

    最近公司组织项目组成员开发一个Android项目的Demo,之前没有人有Andoid方面的开发经验,都是开发C#的. 虽说项目要求并不是很高,但是对于没有这方面经验的人来说,第一步是最困难的. 项目历 ...

  7. JS代码指导原则

    一.什么是平稳退化? 如果含有JS代码的网页在用户浏览器不支持JS(或者禁用JS)时,用户仍然能够顺利浏览(网站功能正常,只是视觉效果可能差一些),那么这个网页就能够平稳退化 网页能够平稳退化是很必要 ...

  8. 服务端JSON内容中有富文本时

    问题背景 由于数据中存在复杂的富文本,包含各种引号和特殊字符,导致后端和前端通过JSON格式进行数据交互引发前端JSON解析出错. 解决方案 后端将富文本内容 ConvertToBase64Strin ...

  9. RabbitMQ基础入门篇

    下载安装 Erlang RabbitMQ 启动RabbitMQ管理平台插件 DOS下进入到安装目录\sbin,执行以下命令 rabbitmq-plugins enable rabbitmq_manag ...

  10. JSON 数据转成Table

    public static DataTable JsonToDataTable(string strJson) { //转换json格式 strJson = strJson.Replace(" ...