tomcat

tomcat

tomcat介绍

​ tomcat是一个开源的Java Servlet容器,是一个免费的Web应用服务器,由Apache软件基金会下属的Jakarta项目开发。Tomcat支持Java Servlet、JavaServer Pages、Java Expression Language和Java WebSocket等Java技术,并提供了一个HTTP Web服务器环境,可以作为独立的Web服务器使用,也可以作为Apache Web服务器的插件使用。

Tomcat的主要特点包括:

  1. 开源免费:Tomcat是一个开源的软件,可以免费使用和下载。
  2. 轻量级:Tomcat是一个轻量级的Web服务器,可以快速启动和运行。
  3. 跨平台:Tomcat可以运行在多种操作系统上,如Windows、Linux、Unix等。
  4. 高性能:Tomcat使用Java语言编写,具有良好的性能和可扩展性。
  5. 安全性:Tomcat提供了多种安全机制,如SSL/TLS加密、访问控制等,可以保证Web应用程序的安全性。
  6. 易于配置:Tomcat提供了丰富的配置选项和管理工具,可以方便地配置和管理Web应用程序。

JDK简介

​ JDK是 Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

JDK的一些主要功能:

  1. Java编译器(javac):JDK提供了Java编译器,用于将Java源代码编译成Java字节码。编译器能够检查代码语法错误,并将代码转换成可执行的字节码文件。
  2. Java虚拟机(JVM):JDK包含了Java虚拟机,负责解释和执行Java字节码。JVM提供了内存管理、垃圾回收、线程管理等功能,保证了Java应用程序的安全性和可靠性。
  3. Java标准类库:JDK提供了丰富的Java标准类库,包含了大量的类和接口,提供了各种功能和工具,如输入输出、网络通信、多线程、图形界面等。开发人员可以直接使用这些类库,加快开发速度。
  4. 开发工具:JDK提供了一系列的开发工具,如调试器(jdb)、性能分析器(jconsole)、API文档生成工具(javadoc)等。这些工具可以帮助开发人员进行代码调试、性能优化和文档生成,提高开发效率。
  5. 开发框架和库:JDK提供了一些开发框架和库,如JavaFX、Java Servlet、Java Swing等。这些框架和库提供了更高级的功能和组件,帮助开发人员构建复杂的应用程序和用户界面。
  6. 多平台支持:JDK支持多个平台,包括Windows、Linux、Mac等操作系统。开发人员可以在不同的平台上开发和运行Java应用程序,提高了应用程序的可移植性。

tomcat部署

准备工作:
关闭防火墙和selinux

[root@localhost ~]# systemctl disable --now firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# 
[root@localhost ~]# setenforce 0
[root@localhost ~]# 
[root@localhost ~]# vi /etc/selinux/config
[root@localhost ~]# cat /etc/selinux/config   
...
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
...
[root@localhost ~]# 

配置yum源

[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2495  100  2495    0     0   5683      0 --:--:-- --:--:-- --:--:--  5683
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo
[root@localhost ~]# 

安装tomcat

安装jdk环境,查看安装的版本

[root@localhost ~]# yum -y install java-17-openjdk java-17-openjdk-devel
[root@localhost ~]# java -version
openjdk version "17.0.1" 2021-10-19 LTS
OpenJDK Runtime Environment 21.9 (build 17.0.1+12-LTS)
OpenJDK 64-Bit Server VM 21.9 (build 17.0.1+12-LTS, mixed mode, sharing)
[root@localhost ~]# 

下载二进制tomcat软件包

[root@localhost ~]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz
...
Saving to: ‘apache-tomcat-9.0.65.tar.gz’
apache-tomcat-9.0.65.tar.gz       100%[===========================================================>]  11.06M  48.1KB/s    in 3m 59s  
2023-10-10 17:32:18 (47.3 KB/s) - ‘apache-tomcat-9.0.65.tar.gz’ saved [11593900/11593900]
[root@localhost ~]# 
[root@localhost ~]# ls
anaconda-ks.cfg  apache-tomcat-9.0.65.tar.gz
[root@localhost ~]# 

解压tomcat软件包到指定路径下,并建立软链接

[root@localhost ~]# tar xf apache-tomcat-9.0.65.tar.gz -C /usr/local/              
[root@localhost ~]# 
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ls
apache-tomcat-9.0.65  bin  etc  games  include  lib  lib64  libexec  sbin  share  src
[root@localhost local]# 
[root@localhost local]# ln -s /usr/local/apache-tomcat-9.0.65 /usr/local/tomcat
[root@localhost local]# 
[root@localhost local]# ll /usr/local/
total 0
...
drwxr-xr-x. 2 root root   6 Jun 22  2021 src
lrwxrwxrwx. 1 root root  31 Oct 10 17:36 tomcat -> /usr/local/apache-tomcat-9.0.65
[root@localhost local]# 

启动tomcat

[root@localhost ~]# cd /usr/local/tomcat
[root@localhost tomcat]# 
[root@localhost tomcat]# ls
bin  BUILDING.txt  conf  CONTRIBUTING.md  lib  LICENSE  logs  NOTICE  README.md  RELEASE-NOTES  RUNNING.txt  temp  webapps  work
[root@localhost tomcat]# 
[root@localhost tomcat]# cd bin/
[root@localhost bin]# ls
bootstrap.jar       ciphers.sh                    daemon.sh     setclasspath.bat  startup.sh            version.bat
catalina.bat        commons-daemon.jar            digest.bat    setclasspath.sh   tomcat-juli.jar       version.sh
catalina.sh         commons-daemon-native.tar.gz  digest.sh     shutdown.bat      tomcat-native.tar.gz
catalina-tasks.xml  configtest.bat                makebase.bat  shutdown.sh       tool-wrapper.bat
ciphers.bat         configtest.sh                 makebase.sh   startup.bat       tool-wrapper.sh
[root@localhost bin]# 
[root@localhost bin]# ./catalina.sh start
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
Using CATALINA_OPTS:   
Tomcat started.
[root@localhost bin]# ss -anlt
State          Recv-Q         Send-Q                      Local Address:Port                 Peer Address:Port        Process         
LISTEN         0              128                               0.0.0.0:22                        0.0.0.0:*                           
LISTEN         0              100                                     *:8080                            *:*                           
LISTEN         0              128                                  [::]:22                           [::]:*                           
LISTEN         0              1                      [::ffff:127.0.0.1]:8005                            *:*                           
[root@localhost bin]# 

访问tomcat网页

image-20231010174639677

写一个hello world的java页面

[root@localhost ~]# cd /usr/local/tomcat/webapps
[root@localhost webapps]# 
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@localhost webapps]# 
[root@localhost webapps]# mkdir test
[root@localhost webapps]# cd test/
[root@localhost test]# 
[root@localhost test]# vi index.jsp
[root@localhost test]# cat index.jsp 
<html>
<head>
        <title>test page</title>
</head>
<body>
        <%
            out.println("Hellow World");
        %>
</body>
</html>
[root@localhost test]# 

指定lib库位置

[root@localhost tomcat]# vim /etc/ld.so.conf.d/tomcat.conf
[root@localhost tomcat]# cat /etc/ld.so.conf.d/tomcat.conf
/usr/local/tomcat/lib
[root@localhost tomcat]# 
[root@localhost tomcat]# ldconfig -v
...
/usr/local/tomcat/lib: (from /etc/ld.so.conf.d/tomcat.conf:1)
/lib: (from <builtin>:0)
/lib64: (from <builtin>:0)
...
/lib64/tls: (hwcap: 0x8000000000000000) (from <builtin>:0)
[root@localhost tomcat]# 

访问网页

image-20231010180013160

服务状态、管理应用和虚拟主机管理员网页访问配置

服务状态、管理应用网页访问配置

编辑tomcat-users.xml配置文件,添加角色名称、用户名和密码

[root@localhost ~]# cd /usr/local/tomcat/conf
[root@localhost conf]# 
[root@localhost conf]# ls
Catalina         catalina.properties  jaspic-providers.xml  logging.properties  tomcat-users.xml  web.xml
catalina.policy  context.xml          jaspic-providers.xsd  server.xml          tomcat-users.xsd
[root@localhost conf]# 
[root@localhost conf]# vim tomcat-users.xml 
...
<role rolename="manager-gui"/>
<user username="op" password="redhat123!" roles="manager-gui"/>
</tomcat-users>
"tomcat-users.xml" 58L, 2851C written                                                                     
[root@localhost conf]#

编辑/manager/META-INF/目录下的context.xml文件,进行访问设置,放行你本机的ip
在127的前面添加你本机的IP,. 前面需要加上右斜杠转义

[root@localhost tomcat]# cd webapps/manager/META-INF/
[root@localhost META-INF]# 
[root@localhost META-INF]# ls
context.xml
[root@localhost META-INF]# 
[root@localhost META-INF]# vim context.xml 
...
         allow="192\.168\.200\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
...         
"context.xml" 24L, 1371C written                                                                          
[root@localhost META-INF]# 

重新加载页面访问

使用tomcat-users.xml配置文件中添加的用户名和密码登录

image-20231010202432743

访问管理应用页面

QQ截图20231010203902

image-20231010202516964

访问服务状态页面

QQ截图20231010203836

虚拟主机管理员网页访问配置

再次编辑tomcat-users.xml配置文件,添加角色

[root@localhost ~]# cd /usr/local/tomcat/conf
[root@localhost conf]# 
[root@localhost conf]# vim tomcat-users.xml 
...
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="op" password="redhat123!" roles="manager-gui,admin-gui"/>
</tomcat-users>
"tomcat-users.xml" 59L, 2890C written
[root@localhost conf]# 

编辑host-manager/META-INF/目录下的context.xml文件,在127的前面添加你本机的IP

[root@localhost ~]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT  test
[root@localhost webapps]# 
[root@localhost webapps]# vim host-manager/META-INF/context.xml
...
         allow="192\.168\.200\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
...
</Context>
"host-manager/META-INF/context.xml" 24L, 1371C written
[root@localhost webapps]#

运行catalina.sh脚本重启服务

[root@localhost tomcat]# ./bin/catalina.sh stop
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
Using CATALINA_OPTS:   
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
[root@localhost tomcat]# 
[root@localhost tomcat]# ./bin/catalina.sh start
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
Using CATALINA_OPTS:   
Tomcat started.
[root@localhost tomcat]# 
[root@localhost tomcat]# ss -anlt               
State          Recv-Q         Send-Q                      Local Address:Port                 Peer Address:Port        Process         
LISTEN         0              128                               0.0.0.0:22                        0.0.0.0:*                           
LISTEN         0              1                      [::ffff:127.0.0.1]:8005                            *:*                           
LISTEN         0              100                                     *:8080                            *:*                           
LISTEN         0              128                                  [::]:22                           [::]:*                           
[root@localhost tomcat]# 
访问虚拟主机管理员页面

image-20231010211154699

访问帮助文档和examples页面

​ 由于本人安装的tomcat是9.0.65版本的不是最新版本的tomcat,docs和examples目录下的META-INF/context.xml文件无需配置放行,可以直接访问帮助文档和examples页面,如果安装的是最新版本的tomcat,则需要配置context.xml文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这linux不学也罢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值