tomcat安装以及常用配置

一 什么是tomcat

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

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

二 tomcat 的版本:

tomcat 现有的版本有tomcat 7 ,tomcat 8 tomcat8.5,tomcat 9
image
我们可以在图片中看到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)
image

五 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" />
  3. 配置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服务器

image

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 : 构建失败是否还发布。勾选表示是,不勾选表示不是,生产环境建议不勾选。

猜你喜欢

转载自www.cnblogs.com/operationhome/p/10021645.html