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的主要特点包括:
- 开源免费:Tomcat是一个开源的软件,可以免费使用和下载。
- 轻量级:Tomcat是一个轻量级的Web服务器,可以快速启动和运行。
- 跨平台:Tomcat可以运行在多种操作系统上,如Windows、Linux、Unix等。
- 高性能:Tomcat使用Java语言编写,具有良好的性能和可扩展性。
- 安全性:Tomcat提供了多种安全机制,如SSL/TLS加密、访问控制等,可以保证Web应用程序的安全性。
- 易于配置:Tomcat提供了丰富的配置选项和管理工具,可以方便地配置和管理Web应用程序。
JDK简介
JDK是 Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
JDK的一些主要功能:
- Java编译器(javac):JDK提供了Java编译器,用于将Java源代码编译成Java字节码。编译器能够检查代码语法错误,并将代码转换成可执行的字节码文件。
- Java虚拟机(JVM):JDK包含了Java虚拟机,负责解释和执行Java字节码。JVM提供了内存管理、垃圾回收、线程管理等功能,保证了Java应用程序的安全性和可靠性。
- Java标准类库:JDK提供了丰富的Java标准类库,包含了大量的类和接口,提供了各种功能和工具,如输入输出、网络通信、多线程、图形界面等。开发人员可以直接使用这些类库,加快开发速度。
- 开发工具:JDK提供了一系列的开发工具,如调试器(jdb)、性能分析器(jconsole)、API文档生成工具(javadoc)等。这些工具可以帮助开发人员进行代码调试、性能优化和文档生成,提高开发效率。
- 开发框架和库:JDK提供了一些开发框架和库,如JavaFX、Java Servlet、Java Swing等。这些框架和库提供了更高级的功能和组件,帮助开发人员构建复杂的应用程序和用户界面。
- 多平台支持:JDK支持多个平台,包括Windows、Linux、Mac等操作系统。开发人员可以在不同的平台上开发和运行Java应用程序,提高了应用程序的可移植性。
tomcat部署
准备工作:
关闭防火墙和selinux
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [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源
1 2 3 4 5 6 7 8 9 | [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环境,查看安装的版本
1 2 3 4 5 6 | [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软件包
1 2 3 4 5 6 7 8 9 | [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软件包到指定路径下,并建立软链接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | [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网页
写一个hello world的java页面
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [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 <title> test page< /title > [root@localhost test ] # |
指定lib库位置
1 2 3 4 5 6 7 8 9 10 11 12 | [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 :0) /lib64 : (from :0) ... /lib64/tls : (hwcap: 0x8000000000000000) (from :0) [root@localhost tomcat] # |
访问网页
服务状态、管理应用和虚拟主机管理员网页访问配置
服务状态、管理应用网页访问配置
编辑tomcat-users.xml配置文件,添加角色名称、用户名和密码
1 2 3 4 5 6 7 8 9 10 11 | [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 ... "tomcat-users.xml" 58L, 2851C written [root@localhost conf] # |
编辑/manager/META-INF/目录下的context.xml文件,进行访问设置,放行你本机的ip
在127的前面添加你本机的IP,. 前面需要加上右斜杠转义
1 2 3 4 5 6 7 8 9 10 11 | [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配置文件中添加的用户名和密码登录
访问管理应用页面
访问服务状态页面
虚拟主机管理员网页访问配置
再次编辑tomcat-users.xml配置文件,添加角色
1 2 3 4 5 6 7 | [root@localhost ~] # cd /usr/local/tomcat/conf [root@localhost conf] # [root@localhost conf] # vim tomcat-users.xml ... "tomcat-users.xml" 59L, 2890C written [root@localhost conf] # |
编辑host-manager/META-INF/目录下的context.xml文件,在127的前面添加你本机的IP
1 2 3 4 5 6 7 8 9 10 11 | [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" /> ... "host-manager/META-INF/context.xml" 24L, 1371C written [root@localhost webapps] # |
运行catalina.sh脚本重启服务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | [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] # |
访问虚拟主机管理员页面
访问帮助文档和examples页面
由于本人安装的tomcat是9.0.65版本的不是最新版本的tomcat,docs和examples目录下的META-INF/context.xml文件无需配置放行,可以直接访问帮助文档和examples页面,如果安装的是最新版本的tomcat,则需要配置context.xml文件。
到此这篇关于tomcat安装及部署的方法实现的文章就介绍到这了,更多相关tomcat安装部署内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!