Tomcat使用详解

1.Tomcat

  Tomcat是apache软件基金会(apache Software Foundation)的Jakarta 项目中的一个核心项目,由apache、Sun和其他一些公司及个人共同开发而成。

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

  Tomcat和Nginx、apache(httpd)、lighttpd等Web服务器一样,具有处理HTMl页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTMl的能力不如Nginx/apache服务器。目前Tomcat最新版本为9.0。Java容器还有resin、weblogic等。

2.Tomcat安装

2.1  下载tomcat安装包

  tomcat官网:https://tomcat.apache.org/

  下载最新的apache-tomcat-9.0.19 .zip

2.2 上传至linux

[[email protected] ~]# rz
[[email protected] ~]# ls
anaconda-ks.cfg           apr-1.5.2.tar.gz       httpd-2.4.20
apache-tomcat-9.0.19.zip  apr-util-1.5.4         httpd-2.4.20.tar.gz
apr-1.5.2                 apr-util-1.5.4.tar.gz

2.3  解压

[[email protected] ~]#unzip apache-tomcat-9.0.19.zip
[[email protected] ~]# ls
apache-tomcat-9.0.19

2.4 复制到/usr/local/tomcat 下

[[email protected] ~]# cp -a apache-tomcat-9.0.19 /usr/local/tomcat

2.5 查看

[[email protected] ~]# cd /usr/local/tomcat
[[email protected] tomcat]# ls
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RElEaSE-NOTES  temp    work                                                       #二进制包,不在需要编译安装

2.6  .sh脚本文件需要执行权限,授予执行权限

[[email protected] tomcat]# cd bin
[[email protected] bin]# ll
-rw-r--r--. 1 root root   2020 apr 12 15:24 shutdown.bat
-rw-r--r--. 1 root root   1902 apr 12 15:24 shutdown.sh
-rw-r--r--. 1 root root   2022 apr 12 15:24 startup.bat
-rw-r--r--. 1 root root   1904 apr 12 15:24 startup.sh
[[email protected] bin]# chmod -R a+x  /usr/local/tomcat
-rwxr-xr-x. 1 root root   1902 apr 12 15:24 shutdown.sh
-rwxr-xr-x. 1 root root   2022 apr 12 15:24 startup.bat
-rwxr-xr-x. 1 root root   1904 apr 12 15:24 startup.sh

2.7 下载java环境

选择yum安装tomcat需要的jdk,就不用再手动配置环境变量

[[email protected] /]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[[email protected] /]# yum install java -y

2.8  启动tomcat

[[email protected] bin]# ./startup.sh                   #在当前目录下启动
Using CaTaliNa_BaSE:   /usr/local/tomcat
Using CaTaliNa_HOME:   /usr/local/tomcat
Using CaTaliNa_TMPDiR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using ClaSSPaTH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[[email protected] bin]# ./startup.sh
Using CaTaliNa_BaSE:   /usr/local/tomcat
Using CaTaliNa_HOME:   /usr/local/tomcat
Using CaTaliNa_TMPDiR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using ClaSSPaTH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[[email protected] bin]# ss -tnl                         #查看端口
liSTEN    0     100       :::8080              :::*
liSTEN    0     1       ::ffff:127.0.0.1:8005      :::*
liSTEN    0     100       :::8009              :::*   #三个端口均已开启

2.9  windows端访问,要加端口

2.10 关闭tomcat

[[email protected] bin]# ./shutdown.sh                    #当前目录下关闭

2.11 将命令写入环境变量的子配置文件,确保在任何目录下均可启动或关闭tomcat

[[email protected] ~]# vim /etc/profile.d/tomcat.sh
export  PATH=/usr/local/tomcat/bin/:$PaTH
:wq
[[email protected] ~]# source /etc/profile.d/tomcat.sh    #重新加载文件确保其生效
[[email protected] ~]# startup.sh                         #再次启动
Tomcat started.
[[email protected] ~]# ss -tnl
State      Recv-Q Send-Q local address:Port               Peer address:Port
liSTEN     0      100         :::8080                   :::*
liSTEN     0      1       ::ffff:127.0.0.1:8005             :::*
liSTEN     0      100           :::8009                 :::*    

3.tomcat目录

[[email protected] ~]# cd /usr/local/tomcat/
[[email protected] tomcat]# tree -l 1              #以树形列出
.
├── bin                  #用以启动、关闭Tomcat或者其它功能的脚本(.bat文件和.sh文件)
├── BUilDiNG.txt
├── conf                 #用以配置Tomcat的XML及DTD文件
├── CONTRiBUTiNG.md
├── lib                  #存放web应用能访问的JAR包
├── LICENSE              #许可证
├── logs                 #Catalina和其它Web应用程序的日志文件
├── NOTICE
├── README.md
├── RElEASE-NOTES
├── RUNNING.txt
├── temp                 #临时文件
├── webapps              #Web应用程序根目录
└── work                 #用以产生有JSP编译出的Servlet的.java和.class文件


4. tomcat
日志

[[email protected] tomcat]# cd logs/
[[email protected] logs]# ls
catalina.out                  #tomcat的实时日志

5.tomcat主配置文件server.xml详解

[[email protected] tomcat]# cd conf
Catalina             context.xml           logging.properties  tomcat-users.xsd
catalina.policy      jaspic-providers.xml  server.xml          web.xml
catalina.properties  jaspic-providers.xsd  tomcat-users.xml
[[email protected] conf]# vim srever.xml
<Server port="8005" shutdown="SHUTDOWN">
<Connector port="8080" protocol="HTTP/1.1"
<Connector port="8009" protocol="aJP/1.3" redirectPort="8443" />
………..
<Host name="localhost"  appBase="webapps"
            unpackWaRs="true" autoDeploy="true">                                        #WaR压缩包放在webapps下会自动解压  自动部署

6. tomcat的三个端口

8005端口:接收shutdown指令。

  port指定Tomcat监听shutdown命令端口。终止服务器运行时,必须在Tomcat服务器所在的机器上发出shutdown命令,该属性是必须的。 shutdown指定终止Tomcat服务器运行时,发给Tomcat服务器的shutdown监听端口的字符串,该属性必须设置。

  <Server port="8005" shutdown="SHUTDOWN">

8080端口:接收HTTP协议。

  connector:接收用户请求,类似于httpd的listen配置监听端口。

  port指定服务器端要创建的端口号,并在这个端口监听来自客户端的请求。
  redirectPort指定服务器正在处理http请求时收到了一个SSl传输请求后重定向的端口号

    <Connector port="8080" protocol="HTTP/1.1"

            connectionTimeout="20000"

         redirectPort="8443"
/>

8009端口:接收AJP协议

  protocol连接器使用的协议,支持HTTP和AJP。AJP(Apache Jserv Protocol)专用于tomcat与apache建立通信的, 在httpd反向代理用户请求至tomcat时使用(可见Nginx反向代理时不可用aJP协议)

  <Connector
port="8009" protocol="aJP/1.3" redirectPort="8443"
/>

[[email protected] conf]# telnet 127.0.0.1 8005          #进入8005端口
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ‘^]‘.
SHUTDOWN                                              #关闭端口
Connection closed by foreign host.
[[email protected] conf]# ss -tnl
State      Recv-Q Send-Q local address:Port               Peer address:Port
liSTEN     0      128            *:111         *:*
liSTEN     0      128            *:22          *:*
liSTEN     0      100    127.0.0.1:25           *:*
liSTEN     0      128           :::111          :::*
liSTEN     0      128           :::80           :::*
liSTEN     0      128           :::22           :::*
liSTEN     0      100          ::1:25           :::*   #tomcat关闭  

  /usr/local/tomcat/webapps/ROOT :网站根目录;网站访问默认为ROOT目录,访问文件也可以在webapps下创建目录将index.html拷入,再写入文件,访问时必须将非ROOT的目录跟上。如在webapps创建目录zxj,拷入index.html后写入211111111:telnet:远程登录指令

[[email protected] tomcat]# cd webapps/
[[email protected] webapps]# echo "2111111111" > index.html
[[email protected] webapps]# cp index.html zxj

7.tomcat多实例部署

[[email protected] local]# cp -a tomcat tomcat1         #复制多实例, [[email protected] local]# cp -a tomcat tomcat2
[[email protected] local]# ls
tomcat  tomcat1 tomcat2                   #一共3个tomcat服务,为避免端口冲突,
                                          需要修改复制实例的端口,使端口号不冲突即可
[[email protected] local]# vim tomcat1/conf/server.xml
<Server port="8006" shutdown="SHUTDOWN">
<Connector port="8081" protocol="HTTP/1.1"
;wq
[[email protected] local]# vim tomcat2/conf/server.xml
<Server port="8007" shutdown="SHUTDOWN">
<Connector port="8082" protocol="HTTP/1.1"
:wq
[[email protected] local]# tomcat1/bin/startup.sh       #启动tomcat1
[[email protected] local]# tomcat2/bin/startup.sh       #启动tomcat2

windows端访问

多实例部署成功

8. tomcat搭建集群

以Nginx为调度器,三台tomcat为集群节点搭建集群

以192.168.16.部署Nginx

#Nginx:
#检查80端口是否被占用,若有,则关掉占用端口的http
[[email protected] ~]# ss -tnl
[[email protected] ~]# systemctl restart nginx         #启动Nginx
[[email protected] ~]# ss -tnl
liSTEN     0      128           :::80                 :::*
#配置负载均衡
[[email protected] ~]# vim /etc/nginx/nginx.conf
upstream zxj {                                      #负载均衡
    server 192.168.16.3:8080 weight=2 max_fails=2 fail_timeout=2
    server 192.168.16.3:8081 weight=2 max_fails=2 fail_timeout=2
    server 192.168.16.3:8082 weight=2 max_fails=2 fail_timeout=2
    }

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /var/www/html;
        index       index.php  index.html;

        # load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        proxy_pass http://zxj;                      #集群名
        }
:wq
[[email protected] ~]# nginx -t                        #检查
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[[email protected] ~]# systemctl restart nginx         #重启

只在在浏览器查询.4即可,记得要关闭防火墙

9.tomcat上线jpress博客系统

jpress类似于wordpress的一个开源博客系统。

9.1 下载jpress

  https://gitee.com/fuhai/jpress/blob/alpha/wars/jpress-web-newest.war

9.2  上传至ROOT下

[[email protected] ~]# cd /usr/local/tomcat/webapps/ROOT/
[[email protected] ROOT]# rz

 
[[email protected] ROOT]#unzip fuhai-jpress-alpha-zip
[[email protected] ROOT]#ls
fuhai-jpress-alpha-zip  jpress               #无法自动解压,继续手动解压
[[email protected] ROOT]# cd jpress
[[email protected] jpress]# ls
DOC.md  jpress  liCENSE  REaDME.md  wars
[[email protected] jpress]# cd wars/
[[email protected] wars]# ls
jpress-web-newest.war
[[email protected] wars]# cp  jpress-web-newest.war /usr/local/tomcat/webapps/ROOT
[[email protected] wars]#cd /usr/local/tomcat/webapps/ROOT
[[email protected] ROOT]#unzip  jpress-web-newest.war

在windows端访问

配置数据库

[[email protected] ROOT]# cd
[[email protected] ~]# systemctl restart mariadb
[[email protected] ~]# mysql -uroot
MariaDB [(none)]> create database zxj;
MariaDB [(none)]> grant all on *.* to [email protected]‘localhost‘ identified by ‘123‘;
                                                             #授权给所有用户
MariaDB [(none)]> exit
Bye
[[email protected] ~]# systemctl restart mariadb

重启tomcat

[[email protected] ~]# shutdown.sh
[[email protected] ~]# ss -tnl
liSTEN     0      100           :::8080                      :::* 

原文地址:https://www.cnblogs.com/ajunyu/p/10886714.html

时间: 2024-11-14 14:37:40

Tomcat使用详解的相关文章

Tomcat配置详解

一.Tomcat定义 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选.对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML页面的访问请求.实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的 java基础 Java体系结构包括四

Tomcat原理详解

Tomcat原理详解 Tomcat是一个JSP/Servlet容器.其作为Servlet容器,有三种工作模式:独立的Servlet容器.进程内的Servlet容器和进程外的Servlet容器. Tomcat目录: tomcat |---bin:存放启动和关闭tomcat脚本 |---conf:存放不同的配置文件(server.xml和web.xml): |---doc:存放Tomcat文档: |---lib/japser/common:存放Tomcat运行需要的库文件(JARS): |---lo

Tomcat基础详解

Tomcat基础详解 组件原理图如下: 任何tomcat实例就是一个server,而一个server内部要想能够解析jsp页面转义编译serlet程序,要靠其引擎来实现 而引擎才是真正意义上执行jsp代码的容器,都是tomcat用类来描述这些组件的 同时,为了接受用户的请求,需要基于connector组件,所谓监听的套接字的程序,能够接手用户的请求,被称为连接器 一个server内部可以完全运行N个引擎,无非就是运行多个虚拟机而已 war包的概念 放在网页目录可以直接访问,而部署的时候可以自动将

TOMCAT原理详解及请求过程(转)

https://www.cnblogs.com/hggen/p/6264475.html TOMCAT原理详解及请求过程 Tomcat: Tomcat是一个JSP/Servlet容器.其作为Servlet容器,有三种工作模式:独立的Servlet容器.进程内的Servlet容器和进程外的Servlet容器. Tomcat目录: tomcat |---bin:存放启动和关闭tomcat脚本 |---conf:存放不同的配置文件(server.xml和web.xml): |---doc:存放Tomc

Tomcat配置文件详解

/export/servers/tomcat7/conf/server.xml 里面很多都是注释: 我们先来看看各个组件之间的关系: server.xml文件中可定义的元素非常多,知道以上的就足够了! 下面来说说常用组件: 1. Server组件: 文本式例: <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.

二:Tomcat原理详解大全

[目录]本文主要讲解Tomcat启动和部署webapp时的原理和过程,以及其使用的配置文件的详解.主要有三大部分: 第一部分.Tomcat的简介和启动过程 第二部分.Tomcat部署webapp 第三部分.Tomcat处理一个http请求的过程 [简介] Tomcat依赖<CATALINA_HOME>/conf/server.xml这个配置文件启动server(一个Tomcat实例,核心就是启动容器Catalina). Tomcat部署Webapp时,依赖context.xml和web.xml

【Tomcat】详解tomcat的连接数与线程池

前言 在使用tomcat时,经常会遇到连接数.线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector). 在前面的文章 详解Tomcat配置文件server.xml 中写到过:Connector的主要功能,是接收连接请求,创建Request和Response对象用于和请求端交换数据:然后分配线程让Engine(也就是Servlet容器)来处理这个请求,并把产生的Request和Response对象传给Engine.当Engine处理完请求后,也会通过Conn

Linux tomcat安装详解

https://blog.csdn.net/lcyaiym/article/details/76696192 https://www.cnblogs.com/hanyinglong/p/5024643.html 安装tomcat并且部署Java Web项目 http://www.cnblogs.com/hanyinglong/p/5030907.html Idea开发环境中搭建Maven并且使用Maven打包部署程序 https://www.cnblogs.com/hongwz/p/545657

Linux下安装MyEclipse和Tomcat服务器详解,以及我安装过程中所出现的问题以及解决办法,并实现一个web小程序

1.首先,先要去MyEclipse和Tomcat的官网去下载Linux版的压缩文件,而MyEclipse的中文官网是需要登录并有可能要付钱,大家可以去网上下载,还有就是Tomcat的linux版,这个直接上官网就可以下载了,下载后我还是通通把它们放在我E盘下的as目录底下,如果大家还没配置好jdk,即Java环境的话,可看我这篇文章:http://blog.csdn.net/u012561176/article/details/45119047 这里我就直接进行操作了! 我E盘下的as文件夹