您现在的位置是:网站首页> 内容页

tomcat安装以及常用配置

  • 天九国际mg手机
  • 2019-03-25
  • 330人已阅读
简介一什么是tomcatTomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程

一 什么是tomcat

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

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

二 tomcat 的版本:

tomcat 现有的版本有tomcat 7 tomcat 8 tomcat8.5tomcat 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安装

# 安装wgetyum 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 --permanentfirewall-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的初始化

根据需求来进行初始化

    第一更改端口:

    编辑配置文件 server.xml .大约在69行将 port = "8080"更改成我们想绑定的端口.<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

    配置编码

    为了避免程序上的一些请求和返回的中文乱码问题.我们需要配置.编辑配置文件 server.xml .大约在69行后添加 useBodyEncodingForURI="true" URIEncoding="UTF-8"

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

    配置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不让外网访问

解决方法:

    更改绑定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" />

    更改防火墙规则不对外开放8080端口.

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

九 tomcat隐藏manager界面

通过nginx重定向的隐藏界面

十 jenkins使用插件自动部署tomcat

使用jenkins来进行发布war包

    除了常规的将tomcat暂停后,进行删除原来的war包,scp传输新的war包启动tomcat还可以使用插件 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 : 构建失败是否还发布。勾选表示是,不勾选表示不是,生产环境建议不勾选。

文章评论

Top