tomcat部署
1. tomcat简介
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费。成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另 外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP 容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache 服务器。
2. tomcat部署
2.1 java环境安装
[root@localhost ~]# yum -y install java-17-openjdk*
[root@localhost ~]# java -version
openjdk version "17" 2021-09-14
OpenJDK Runtime Environment 21.9 (build 17+35)
OpenJDK 64-Bit Server VM 21.9 (build 17+35, mixed mode, sharing)
[root@localhost ~]#
2.2 tomcat下载
上官网下载tomcat
//解压部署
[root@localhost src]# ls
apache-tomcat-9.0.24.tar.gz debug kernels
[root@localhost src]# tar xf apache-tomcat-9.0.24.tar.gz -C /usr/local/
[root@localhost src]# cd /usr/local/
[root@localhost local]# mv apache-tomcat-9.0.54/ tomcat
[root@localhost local]# ls
bin games lib libexec share tomcat
etc include lib64 sbin src
//启动tomcat
[root@localhost ~]# /usr/local/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 ~]# ss -antl
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 128 [::]:22 [::]:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005 *:*
LISTEN 0 100 *:8080 *:*
LISTEN 0 128 *:80 *:*
[root@localhost ~]#
2.3 添加上8080端口访问tomcat页面
3. 写一个写一个hello world的java页面
//写一个hello world的java页面
[root@localhost ~]# vim index.jsp
[root@localhost ~]# cat index.jsp
<html>
<head>
<title>test page</title>
</head>
<body>
<%
out.println("Hello World");
%>
</body>
</html>
[root@localhost ~]#
[root@localhost tomcat]# cp -a webapps/ROOT /opt/
[root@localhost tomcat]# ls /opt/
ROOT
[root@localhost tomcat]# rm -rf webapps/ROOT/*
我们删除掉webapps/ROOT/里面的内容就可以发现tomcat页面访问不了了
然后再添加这个文件进入index.jsp文件,可以发现访问页面变成了hello world
[root@localhost tomcat]# cp ~/index.jsp webapps/ROOT/
[root@localhost tomcat]# ls webapps/ROOT/
index.jsp
[root@localhost tomcat]#
创建一个test文件,访问tomcat页面时最后加上你创建的文件发现也能访问hello world
[root@localhost ~]# mkdir /usr/local/tomcat/webapps/test
[root@localhost ~]# cp index.jsp /usr/local/tomcat/webapps/test/
[root@localhost ~]# ll /usr/local/tomcat/webapps/test/
[root@localhost ~]# cp index.jsp /usr/local/tomcat/webapps/test/
[root@localhost ~]# ll /usr/local/tomcat/webapps/test/
总用量 4
-rw-r--r-- 1 root root 119 10月 17 18:37 index.jsp
[root@localhost ~]#
4. tomcat web页面访问
[root@localhost tomcat]# vim conf/tomcat-users.xml
//最后面加入这三行内容
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/> //这里设置的用户和密码都为tomcat密码
</tomcat-users>
[root@localhost ~]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# ls
docs examples host-manager manager ROOT test
[root@localhost webapps]# cd manager/
[root@localhost manager]# ls
css images index.jsp META-INF status.xsd WEB-INF xform.xsl
[root@localhost manager]# ls META-INF
context.xml
[root@localhost manager]# vim META-INF/context.xml
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192\.168\.200\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\. //再最前面加上主机主机IP (?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
[root@localhost manager]#
[root@localhost webapps]# vim host-manager/META-INF/context.xml
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192\.168\.200\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\. //再最前面加上主机主机IP,和上面操作相同 (?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
//重新启动tomcat
[root@localhost tomcat]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost tomcat]# ps -ef|grep tomcat
root 485739 299850 0 19:34 pts/0 00:00:00 grep --color=auto tomcat
[root@localhost tomcat]# /usr/local/tomcat/bin/catalina.sh start