tomcat安裝及部署的方法實現(xiàn)
tomcat
tomcat介紹
tomcat是一個開源的Java Servlet容器,是一個免費的Web應(yīng)用服務(wù)器,由Apache軟件基金會下屬的Jakarta項目開發(fā)。Tomcat支持Java Servlet、JavaServer Pages、Java Expression Language和Java WebSocket等Java技術(shù),并提供了一個HTTP Web服務(wù)器環(huán)境,可以作為獨立的Web服務(wù)器使用,也可以作為Apache Web服務(wù)器的插件使用。
Tomcat的主要特點包括:
- 開源免費:Tomcat是一個開源的軟件,可以免費使用和下載。
- 輕量級:Tomcat是一個輕量級的Web服務(wù)器,可以快速啟動和運行。
- 跨平臺:Tomcat可以運行在多種操作系統(tǒng)上,如Windows、Linux、Unix等。
- 高性能:Tomcat使用Java語言編寫,具有良好的性能和可擴展性。
- 安全性:Tomcat提供了多種安全機制,如SSL/TLS加密、訪問控制等,可以保證Web應(yīng)用程序的安全性。
- 易于配置:Tomcat提供了豐富的配置選項和管理工具,可以方便地配置和管理Web應(yīng)用程序。
JDK簡介
? JDK是 Java語言的軟件開發(fā)工具包,主要用于移動設(shè)備、嵌入式設(shè)備上的java應(yīng)用程序。JDK是整個java開發(fā)的核心,它包含了JAVA的運行環(huán)境(JVM+Java系統(tǒng)類庫)和JAVA工具。
JDK的一些主要功能:
- Java編譯器(javac):JDK提供了Java編譯器,用于將Java源代碼編譯成Java字節(jié)碼。編譯器能夠檢查代碼語法錯誤,并將代碼轉(zhuǎn)換成可執(zhí)行的字節(jié)碼文件。
- Java虛擬機(JVM):JDK包含了Java虛擬機,負責解釋和執(zhí)行Java字節(jié)碼。JVM提供了內(nèi)存管理、垃圾回收、線程管理等功能,保證了Java應(yīng)用程序的安全性和可靠性。
- Java標準類庫:JDK提供了豐富的Java標準類庫,包含了大量的類和接口,提供了各種功能和工具,如輸入輸出、網(wǎng)絡(luò)通信、多線程、圖形界面等。開發(fā)人員可以直接使用這些類庫,加快開發(fā)速度。
- 開發(fā)工具:JDK提供了一系列的開發(fā)工具,如調(diào)試器(jdb)、性能分析器(jconsole)、API文檔生成工具(javadoc)等。這些工具可以幫助開發(fā)人員進行代碼調(diào)試、性能優(yōu)化和文檔生成,提高開發(fā)效率。
- 開發(fā)框架和庫:JDK提供了一些開發(fā)框架和庫,如JavaFX、Java Servlet、Java Swing等。這些框架和庫提供了更高級的功能和組件,幫助開發(fā)人員構(gòu)建復雜的應(yīng)用程序和用戶界面。
- 多平臺支持:JDK支持多個平臺,包括Windows、Linux、Mac等操作系統(tǒng)。開發(fā)人員可以在不同的平臺上開發(fā)和運行Java應(yīng)用程序,提高了應(yīng)用程序的可移植性。
tomcat部署
準備工作:
關(guān)閉防火墻和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環(huán)境,查看安裝的版本
[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: ‘a(chǎn)pache-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) - ‘a(chǎn)pache-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網(wǎng)頁
寫一個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]#
訪問網(wǎng)頁
服務(wù)狀態(tài)、管理應(yīng)用和虛擬主機管理員網(wǎng)頁訪問配置
服務(wù)狀態(tài)、管理應(yīng)用網(wǎng)頁訪問配置
編輯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文件,進行訪問設(shè)置,放行你本機的ip
在127的前面添加你本機的IP,. 前面需要加上右斜杠轉(zhuǎn)義
[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配置文件中添加的用戶名和密碼登錄
訪問管理應(yīng)用頁面
訪問服務(wù)狀態(tài)頁面
虛擬主機管理員網(wǎng)頁訪問配置
再次編輯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腳本重啟服務(wù)
[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文件。
到此這篇關(guān)于tomcat安裝及部署的方法實現(xiàn)的文章就介紹到這了,更多相關(guān)tomcat安裝部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入了解tomcat中servlet的創(chuàng)建方式實現(xiàn)
這篇文章主要介紹了深入了解tomcat中servlet的創(chuàng)建方式實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10Tomcat中catalina.bat設(shè)置為UTF-8控制臺出現(xiàn)亂碼
這篇文章主要介紹了Tomcat中catalina.bat設(shè)置為UTF-8控制臺出現(xiàn)亂碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03