Tomcat部署

Tomcat部署

Tomcat介绍

Tomcat是一个开源的Web应用服务器,是Apache软件基金会的Jakarta项目中的一个核心项目。Tomcat是用Java语言开发的,所以它是一个纯Java的Web服务器。Tomcat是目前使用最广泛的Java应用服务器之一,它提供了一个运行Java Web应用的环境,可以处理HTTP请求和响应,并支持Servlet和JavaServer Pages(JSP)等Java技术。

Tomcat的特点包括:

  1. 轻量级:Tomcat的核心组件非常小巧,占用资源较少,启动速度快。
  2. 可扩展性:Tomcat支持插件机制,可以方便地添加和扩展功能。
  3. 高性能:Tomcat采用了线程池技术,可以处理大量并发请求,提供较高的性能。
  4. 安全性:Tomcat提供了强大的安全机制,可以对Web应用进行认证和授权,保护用户数据的安全。
  5. 易用性:Tomcat提供了简单易用的管理界面,可以方便地配置和管理Web应用。

总之,Tomcat是一个功能强大、稳定可靠的Java Web服务器,广泛应用于企业级Web应用的开发和部署。

tomcat就是传说中的中间件之一,tomcat本身是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中。而tomcat本身的运行也依赖于jdk环境。

准备工作

关闭防火墙和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 ~]# setenforce 0
[root@localhost ~]# vi /etc/selinux/config 

tomcat需要jdk的环境先下载jdk

[root@localhost ~]# yum -y install java-17-openjdk java-17-openjdk-devel

下载tomcat

tomcat官网

[root@localhost ~]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.80/bin/apache-tomcat-9.0.80.tar.gz
[root@localhost ~]# ls
anaconda-ks.cfg  apache-tomcat-9.0.80.tar.gz

解压缩至/usr/local/目录下

[root@localhost ~]# tar xf apache-tomcat-9.0.80.tar.gz -C /usr/local/
[root@localhost ~]# ls /usr/local/
apache-tomcat-9.0.80  bin  etc  games  include  lib  lib64  libexec  sbin  share  src
[root@localhost ~]# mv /usr/local/apache-tomcat-9.0.80  /usr/local/apache-tomcat
[root@localhost ~]# ls /usr/local/
apache-tomcat  bin  etc  games  include  lib  lib64  libexec  sbin  share  src
[root@localhost ~]# 

创建软连接

[root@localhost ~]# ln -s /usr/local/apache-tomcat /usr/local/tomcat
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ll
total 0
drwxr-xr-x  9 root root 220 Oct 11 15:50 apache-tomcat
drwxr-xr-x. 2 root root   6 Jun 22  2021 bin
drwxr-xr-x. 2 root root   6 Jun 22  2021 etc
drwxr-xr-x. 2 root root   6 Jun 22  2021 games
drwxr-xr-x. 2 root root   6 Jun 22  2021 include
drwxr-xr-x. 2 root root   6 Jun 22  2021 lib
drwxr-xr-x. 3 root root  17 Jul 14 09:33 lib64
drwxr-xr-x. 2 root root   6 Jun 22  2021 libexec
drwxr-xr-x. 2 root root   6 Jun 22  2021 sbin
drwxr-xr-x. 5 root root  49 Jul 14 09:33 share
drwxr-xr-x. 2 root root   6 Jun 22  2021 src
lrwxrwxrwx  1 root root  24 Oct 11 15:52 tomcat -> /usr/local/apache-tomcat
[root@localhost local]# 

查看tomcat目录里的文件

[root@localhost ~]# cd /usr/local/tomcat/
[root@localhost tomcat]# ls
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work
[root@localhost tomcat]# cd bin/
[root@localhost bin]# ls        # 下面这些文件有启动,关闭tomcat,检查配置文件的文件
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]# 

启动tomcat服务

[root@localhost bin]# ./catalina.sh stop      #停止服务
[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 -antl      #8080和8005端口就是tomcat服务的端口,其中8080是网页端口
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]# 

这时就可以通过8080端口访问tomcat页面了

在这里插入图片描述

创建java页面

[root@localhost tomcat]# cd /usr/local/tomcat/webapps/   #进入webapps目录
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@localhost webapps]# mkdir test                     #在webapps目录下创建存放网页文件的目录
[root@localhost webapps]# cd test/
[root@localhost test]# vim index.jsp                      #创建网页文件.jsp就是表示Java语言的后缀
[root@localhost test]# cat index.jsp
<html>
<head>
        <title>test page</title>
</head>
<body>
        <%
            out.println("Hellow World");
        %>
</body>
</html>

[root@localhost test]# 

在ip访问的路径下加上test目录

在这里插入图片描述

但是这个时候访问webapps目录下的其它页面都需要设置权限

在这里插入图片描述

在这里插入图片描述

根据图中提示修改/usr/local/tomcat1/conf目录下的tomcat-users.xml文件

[root@localhost ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
#在文件的最后面添加下面的内容
-->
<role rolename="manager-gui"/>
<user username="hte" password="hte666!" roles="manager-gui"/>      #定义用户
</tomcat-users>    #注意,内容只能写道这一行上面

修改了配置文件后要重启服务

[root@localhost tomcat]# pwd
/usr/local/tomcat
[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]# ./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]# 

修改manager下的context.xml配置文件

[root@localhost ~]# cd /usr/local/tomcat/webapps/manager/META-INF
[root@localhost META-INF]# ls
context.xml
[root@localhost META-INF]# vim context.xml 
<Context antiResourceLocking="false" privileged="true" >
  <CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
                   sameSiteCookies="strict" />
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />    #这里是正则表达式,要在这里把我们主机的网段添加进去
   修改为 allow="192\.168\.10\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />   #|表示或
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

再次访问manager界面

在这里插入图片描述

在这里插入图片描述

其它web页面的服务也是这么写

例如 Host manager

在这里插入图片描述

编辑/usr/local/tomcat/conf/tomcat-users.xml

[root@localhost ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>     #添加一个新的角色
<user username="hte" password="hte666!" roles="manager-gui,admin-gui"/>    #把新的角色添加到之前的用户
</tomcat-users>

在host-manager文件中放行本机的IP地址

[root@localhost ~]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT  test
[root@localhost webapps]# vim host-manager/META-INF/context.xml 
<Context antiResourceLocking="false" privileged="true" >
  <CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
                   sameSiteCookies="strict" />
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="192\.168\.10\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />    #同样这样添加IP
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

重启服务

[root@localhost webapps]# cd ..
[root@localhost tomcat]# ./bin/catalina.sh stop
[root@localhost tomcat]# ./bin/catalina.sh start

再次访问页面试试

在这里插入图片描述

输入用户名和密码

在这里插入图片描述

在这里插入图片描述

i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值