日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

tomcat使用详解(week4_day2)--技术流ken

發(fā)布時(shí)間:2024/3/12 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tomcat使用详解(week4_day2)--技术流ken 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

tomcat簡(jiǎn)介

?

Tomcat是Apache軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun和其他一些公司及個(gè)人共同開(kāi)發(fā)而成。

Tomcat服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的Web應(yīng)用服務(wù)器,屬于輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,是開(kāi)發(fā)和調(diào)試JSP程序的首選。

Tomcat和Nginx、Apache(httpd)、lighttpd等Web服務(wù)器一樣,具有處理HTML頁(yè)面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過(guò),

Tomcat處理靜態(tài)HTML的能力不如Nginx/Apache服務(wù)器。

目前Tomcat最新版本為9.0。Java容器還有resin、weblogic等。

?

tomcat安裝

?

系統(tǒng)環(huán)境:Centos7

第一步:下載tomcat安裝包

tomcat官網(wǎng):https://tomcat.apache.org/

?

第二步:安裝包上傳至linux中

?

第三步:下載java環(huán)境

選擇yum安裝tomcat需要的jdk,就不用再手動(dòng)配置環(huán)境變量

[root@ken3 ~]# yum install java -y

?

第四步:解壓tomcat安裝包

[root@ken3 ~]# unzip apache-tomcat-9.0.14.zip

?

第五步:移動(dòng)并改名

[root@ken3 ~]# mv apache-tomcat-9.0.14 /usr/local/tomcat

?

第六步:授予執(zhí)行權(quán)限

[root@ken3 local]# chmod -R a+x tomcat/

?

第七步:啟動(dòng)tomcat

[root@ken3 bin]# bash startup.sh 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 Tomcat started. [root@ken3 bin]# ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:111 *:* LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 100 :::8009 :::* LISTEN 0 128 :::111 :::* LISTEN 0 100 :::8080 :::* LISTEN 0 128 :::80 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::*

?

第八步:瀏覽器訪問(wèn)

看到如下的界面即為成功

?

?關(guān)閉tomcat

[root@ken3 bin]# bash shutdown.sh 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 [root@ken3 bin]# ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:111 *:* LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 :::111 :::* LISTEN 0 128 :::80 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::*

?

tomcat目錄介紹

?

[root@ken ~]# cd /usr/local/tomcat/ [root@ken tomcat]# tree -L 1 . ├── bin #用以啟動(dòng)、關(guān)閉Tomcat或者其它功能的腳本(.bat文件和.sh文件) ├── conf #用以配置Tomcat的XML及DTD文件 ├── lib #存放web應(yīng)用能訪問(wèn)的JAR包 ├── LICENSE ├── logs #Catalina和其它Web應(yīng)用程序的日志文件 ├── NOTICE ├── RELEASE-NOTES ├── RUNNING.txt ├── temp #臨時(shí)文件 ├── webapps #Web應(yīng)用程序根目錄 └── work #用以產(chǎn)生有JSP編譯出的Servlet的.java和.class文件 7 directories, 4 files[root@ken tomcat]# cd webapps/ [root@ken webapps]# ll total 20 drwxr-xr-x 14 root root 4096 Oct 5 12:09 docs #tomcat幫助文檔 drwxr-xr-x 6 root root 4096 Oct 5 12:09 examples #web應(yīng)用實(shí)例 drwxr-xr-x 5 root root 4096 Oct 5 12:09 host-manager #管理 drwxr-xr-x 5 root root 4096 Oct 5 12:09 manager #管理 drwxr-xr-x 3 root root 4096 Oct 5 12:09 ROOT #默認(rèn)網(wǎng)站根目錄

?

tomcat日志

?

[root@ken3 logs]# cd /usr/local/tomcat/logs/ [root@ken3 logs]# ls catalina.2019-01-25.log host-manager.2019-01-25.log localhost_access_log.2019-01-25.txt catalina.out localhost.2019-01-25.log manager.2019-01-25.log

#tomcat的實(shí)時(shí)日志catalina.out [root@ken3 logs]# tail
-f catalina.out 25-Jan-2019 15:03:50.314 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"] 25-Jan-2019 15:03:50.319 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [1,598] milliseconds 25-Jan-2019 15:07:28.455 INFO [main] org.apache.catalina.core.StandardServer.await A valid shutdown command was received via the shutdown port. Stopping the Server instance. 25-Jan-2019 15:07:28.456 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8080"] 25-Jan-2019 15:07:28.466 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-nio-8009"] 25-Jan-2019 15:07:28.479 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina] 25-Jan-2019 15:07:28.538 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8080"] 25-Jan-2019 15:07:28.549 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["ajp-nio-8009"] 25-Jan-2019 15:07:28.551 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-8080"] 25-Jan-2019 15:07:28.552 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["ajp-nio-8009"]

?

tomcat主配置文件server.xml詳解

?

<?xml version='1.0' encoding='utf-8'?> <!-- <Server>元素代表整個(gè)容器,是Tomcat實(shí)例的頂層元素.由org.apache.catalina.Server接口來(lái)定義.它包含一個(gè)<Service>元素.并且它不能做為任何元素的子元素.port指定Tomcat監(jiān)聽(tīng)shutdown命令端口.終止服務(wù)器運(yùn)行時(shí),必須在Tomcat服務(wù)器所在的機(jī)器上發(fā)出shutdown命令.該屬性是必須的.shutdown指定終止Tomcat服務(wù)器運(yùn)行時(shí),發(fā)給Tomcat服務(wù)器的shutdown監(jiān)聽(tīng)端口的字符串.該屬性必須設(shè)置 --> <Server port="8005" shutdown="SHUTDOWN"><Listener className="org.apache.catalina.startup.VersionLoggerListener" /><Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /><Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /><Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /><Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /><GlobalNamingResources><Resource name="UserDatabase" auth="Container"type="org.apache.catalina.UserDatabase"description="User database that can be updated and saved"factory="org.apache.catalina.users.MemoryUserDatabaseFactory"pathname="conf/tomcat-users.xml" /></GlobalNamingResources><!--service服務(wù)組件--><Service name="Catalina"><!--connector:接收用戶請(qǐng)求,類似于httpd的listen配置監(jiān)聽(tīng)端口.port指定服務(wù)器端要?jiǎng)?chuàng)建的端口號(hào),并在這個(gè)端口監(jiān)聽(tīng)來(lái)自客戶端的請(qǐng)求。address:指定連接器監(jiān)聽(tīng)的地址,默認(rèn)為所有地址(即0.0.0.0)protocol連接器使用的協(xié)議,支持HTTP和AJP。AJP(Apache Jserv Protocol)專用于tomcat與apache建立通信的, 在httpd反向代理用戶請(qǐng)求至tomcat時(shí)使用(可見(jiàn)Nginx反向代理時(shí)不可用AJP協(xié)議)。minProcessors服務(wù)器啟動(dòng)時(shí)創(chuàng)建的處理請(qǐng)求的線程數(shù)maxProcessors最大可以創(chuàng)建的處理請(qǐng)求的線程數(shù)enableLookups如果為true,則可以通過(guò)調(diào)用request.getRemoteHost()進(jìn)行DNS查詢來(lái)得到遠(yuǎn)程客戶端的實(shí)際主機(jī)名,若為false則不進(jìn)行DNS查詢,而是返回其ip地址redirectPort指定服務(wù)器正在處理http請(qǐng)求時(shí)收到了一個(gè)SSL傳輸請(qǐng)求后重定向的端口號(hào)acceptCount指定當(dāng)所有可以使用的處理請(qǐng)求的線程數(shù)都被使用時(shí),可以放到處理隊(duì)列中的請(qǐng)求數(shù),超過(guò)這個(gè)數(shù)的請(qǐng)求將不予處理connectionTimeout指定超時(shí)的時(shí)間數(shù)(以毫秒為單位)--><Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" /><Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /><!--engine,核心容器組件,catalina引擎,負(fù)責(zé)通過(guò)connector接收用戶請(qǐng)求,并處理請(qǐng)求,將請(qǐng)求轉(zhuǎn)至對(duì)應(yīng)的虛擬主機(jī)hostdefaultHost指定缺省的處理請(qǐng)求的主機(jī)名,它至少與其中的一個(gè)host元素的name屬性值是一樣的--><Engine name="Catalina" defaultHost="localhost"><!--Realm表示存放用戶名,密碼及role的數(shù)據(jù)庫(kù)--><Realm className="org.apache.catalina.realm.LockOutRealm"><Realm className="org.apache.catalina.realm.UserDatabaseRealm"resourceName="UserDatabase"/></Realm><!--host表示一個(gè)虛擬主機(jī)name指定主機(jī)名appBase應(yīng)用程序基本目錄,即存放應(yīng)用程序的目錄.一般為appBase="webapps" ,相對(duì)于CATALINA_HOME而言的,也可以寫絕對(duì)路徑。unpackWARs如果為true,則tomcat會(huì)自動(dòng)將WAR文件解壓,否則不解壓,直接從WAR文件中運(yùn)行應(yīng)用程序autoDeploy:在tomcat啟動(dòng)時(shí),是否自動(dòng)部署。xmlValidation:是否啟動(dòng)xml的校驗(yàn)功能,一般xmlValidation="false"。xmlNamespaceAware:檢測(cè)名稱空間,一般xmlNamespaceAware="false"--><Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"><!--Context表示一個(gè)web應(yīng)用程序,通常為WAR文件docBase應(yīng)用程序的路徑或者是WAR文件存放的路徑,也可以使用相對(duì)路徑,起始路徑為此Context所屬Host中appBase定義的路徑。path表示此web應(yīng)用程序的url的前綴,這樣請(qǐng)求的url為http://localhost:8080/path/****reloadable這個(gè)屬性非常重要,如果為true,則tomcat會(huì)自動(dòng)檢測(cè)應(yīng)用程序的/WEB-INF/lib 和/WEB-INF/classes目錄的變化,自動(dòng)裝載新的應(yīng)用程序,可以在不重啟tomcat的情況下改變應(yīng)用程序--><Context path="" docBase="" debug=""/><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t &quot;%r&quot; %s %b" /></Host></Engine></Service> </Server>

?

?

tomcat的三個(gè)端口

?

Tomcat主配置文件Server.xml文件里面有三個(gè)端口

第一個(gè):接收SHUTDOWN指令

port指定Tomcat監(jiān)聽(tīng)shutdown命令端口.終止服務(wù)器運(yùn)行時(shí),必須在Tomcat服務(wù)器所在的機(jī)器上發(fā)出shutdown命令.該屬性是必須的.shutdown指定終止Tomcat服務(wù)器運(yùn)行時(shí),發(fā)給Tomcat服務(wù)器的shutdown監(jiān)聽(tīng)端口的字符串.該屬性必須設(shè)置 --> <Server port="8005" shutdown="SHUTDOWN">

?

第二個(gè):接收HTTP協(xié)議

connector:接收用戶請(qǐng)求,類似于httpd的listen配置監(jiān)聽(tīng)端口.port指定服務(wù)器端要?jiǎng)?chuàng)建的端口號(hào),并在這個(gè)端口監(jiān)聽(tīng)來(lái)自客戶端的請(qǐng)求。
?redirectPort指定服務(wù)器正在處理http請(qǐng)求時(shí)收到了一個(gè)SSL傳輸請(qǐng)求后重定向的端口號(hào)
<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />

?

第三個(gè):接收AJP協(xié)議

protocol連接器使用的協(xié)議,支持HTTP和AJP。AJP(Apache Jserv Protocol)專用于tomcat與apache建立通信的, 在httpd反向代理用戶請(qǐng)求至tomcat時(shí)使用(可見(jiàn)Nginx反向代理時(shí)不可用AJP協(xié)議) <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

?

tomcat多實(shí)例部署

?

第一步:復(fù)制tomcat目錄

[root@ken3 local]# cp -a tomcat tomcat1 [root@ken3 local]# cp -a tomcat tomcat2

?

第二步:修改配置文件

tomcat1

[root@ken3 local]# vim tomcat1/conf/server.xml ... 22 <Server port="8011" shutdown="SHUTDOWN"> ...69 <Connector port="8081" protocol="HTTP/1.1" ...

tomcat2

[root@ken3 local]# vim tomcat1/conf/server.xml ... 22 <Server port="8012" shutdown="SHUTDOWN"> ...69 <Connector port="8082" protocol="HTTP/1.1" ... tomcat2

?

第三步:啟動(dòng)多實(shí)例

[root@ken3 local]# tomcat2/bin/startup.sh Using CATALINA_BASE: /usr/local/tomcat2 Using CATALINA_HOME: /usr/local/tomcat2 Using CATALINA_TMPDIR: /usr/local/tomcat2/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/tomcat2/bin/bootstrap.jar:/usr/local/tomcat2/bin/tomcat-juli.jar Tomcat started. [root@ken3 local]# ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:111 *:* LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 1 ::ffff:127.0.0.1:8005 :::* LISTEN 0 100 :::8009 :::* LISTEN 0 1 ::ffff:127.0.0.1:8011 :::* LISTEN 0 1 ::ffff:127.0.0.1:8012 :::* LISTEN 0 128 :::111 :::* LISTEN 0 100 :::8080 :::* LISTEN 0 128 :::80 :::* LISTEN 0 100 :::8081 :::* LISTEN 0 100 :::8082 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::*

?

第四步:瀏覽器訪問(wèn)測(cè)試

tomat1

?

?tomcat2

?

tomcat搭建集群

?

第一步:修改配置文件

[root@ken ~]# cd /usr/local/tomcat1/webapps/ [root@ken webapps]# ls docs examples host-manager manager ROOT [root@ken webapps]# mv ROOT/* /ken/1^C [root@ken webapps]# mkdir /ken/2 [root@ken webapps]# mv ROOT/* /ken/2 [root@ken webapps]# echo "111" > ROOT/index.html

另外一臺(tái)寫上111以便區(qū)分

?

第二步:安裝nginx

[root@ken ~]# yum install nginx -y

?

第三步:配置nginx

[root@ken ~]# vim /etc/nginx/nginx.conf ...upstream ken { server 192.168.4.190:8081; #定義轉(zhuǎn)發(fā)地址server 192.168.4.190:8082;}server {listen 80 default_server;listen [::]:80 default_server;server_name _;root /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {proxy_pass http://ken; #轉(zhuǎn)發(fā)至代理} ...

?

第四步:檢查nginx配置并重啟

[root@ken ~]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful [root@ken ~]# systemctl restart nginx

?

第五步:測(cè)試

瀏覽器輸出本機(jī)IP地址即可

進(jìn)行刷新

?

tomcat上線jpress博客系統(tǒng)

?

jpress類似于wordpress的一個(gè)開(kāi)源博客系統(tǒng)

?

第一步:下載jpress

https://gitee.com/fuhai/jpress/blob/alpha/wars/jpress-web-newest.war

?

第二步:上傳jpress包至ROOT下

[root@ken ROOT]# pwd /usr/local/tomcat/webapps/ROOT [root@ken ROOT]# rz[root@ken ROOT]# ls fuhai-jpress-v2.0-rc.8.zip

?

第三步:解壓

使用unzip進(jìn)行解壓

[root@ken ROOT]# unzip fuhai-jpress-alpha.zip [root@ken ROOT]# ls fuhai-jpress-alpha.zip jpress

?

第四步:復(fù)制war包至ROOT下

[root@ken wars]# pwd /usr/local/tomcat/webapps/ROOT/jpress/wars [root@ken wars]# cp jpress-web-newest.war /usr/local/tomcat/webapps/ROOT/

?

第五步:解壓war包

[root@ken ROOT]# unzip jpress-web-newest.war [root@ken ROOT]# ls fuhai-jpress-alpha.zip jpress jpress-web-newest.war META-INF robots.txt static templates WEB-INF

?

第六步:瀏覽器進(jìn)行訪問(wèn)

瀏覽器輸入IP,回車之后出現(xiàn)如下的界面

http://服務(wù)器IP:8080/jpress

?

第七步:安裝

點(diǎn)擊下一步

?

需要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)及用戶

?

第八步:數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)及用戶

MariaDB [(none)]> create database ken; MariaDB [(none)]> grant all on *.* to ken@'localhost' identified by '123';

?

第九步:繼續(xù)安裝

填好數(shù)據(jù)庫(kù)信息后,點(diǎn)擊下一步

?

?根據(jù)提示輸入網(wǎng)站名稱及管理員賬號(hào)和密碼,點(diǎn)擊完成

?

到這一步之后需要重啟tomcat

?

第十步:重啟tomcat

[root@ken bin]# ./shutdown.sh 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 [root@ken bin]# ./startup.sh 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 Tomcat started.

?

第十一步:再次訪問(wèn)tomcat

?

第十二步:進(jìn)入管理員界面

輸入如下的地址,搜索admin,回車之后出現(xiàn)如下的界面

http://服務(wù)器IP:8080/admin/

?

輸入之前設(shè)置的管理員賬戶及密碼,點(diǎn)擊登錄

?

?

出現(xiàn)如下的界面即成功!

?

第十三步:撰寫文章

?

?

退出當(dāng)前登錄用戶

直接輸入IP加端口再次訪問(wèn)即可看到我們剛才寫的文章

?

轉(zhuǎn)載于:https://www.cnblogs.com/kenken2018/p/10318243.html

總結(jié)

以上是生活随笔為你收集整理的tomcat使用详解(week4_day2)--技术流ken的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。