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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

web服务之Tomcat

發(fā)布時(shí)間:2025/3/18 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 web服务之Tomcat 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

示例 1:Tomcat的配置:

網(wǎng)站規(guī)劃:

網(wǎng)頁目錄:/web/www ? ?域名:www.test.com

論壇目錄:/web/bbs ? URL:www.test.com/bbs

?

方案部署:

1 準(zhǔn)備JDK環(huán)境:

[zwj01@localhost local]$ sudo tar -zxf jdk-8u131-linux-x64.gz -C /usr/local/

[zwj01@localhost local]$ sudo ln -s /usr/local/jdk1.8.0_131/ /usr/local/jdk1.8

[zwj01@localhost local]$ sudo vim /etc/profile

export JAVA_HOME=/usr/local/jdk1.8

export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar

[zwj01@localhost local]$ source /etc/profile

[zwj01@localhost local]$ java -version

java version "1.8.0_131"

Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)


2 Tomcat配置:

[zwj01@localhost src]$ sudo wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.44/bin/apache-tomcat-8.0.44.tar.gz

[zwj01@localhost src]$ sudo tar -zxf apache-tomcat-8.0.44.tar.gz -C /usr/local/

[zwj01@localhost local]$ sudo ln -s /usr/local/apache-tomcat-8.0.44 tomcat8.0

[zwj01@localhost ~]$ sudo useradd tomcat

[zwj01@localhost ~]$ sudo passwd tomcat

[zwj01@localhost ~]$ sudo chown -R tomcat.tomcat /usr/local/tomcat8.0/

[zwj01@localhost tomcat8.0]$ sudo vim /etc/profile

export CATALINA_HOME=/usr/local/tomcat8.0

[zwj01@localhost tomcat8.0]$ source /etc/profile

[zwj01@localhost ~]$ su -l tomcat

[tomcat@localhost ~]$ /usr/local/tomcat8.0/bin/startup.sh?

[tomcat@localhost ~]$ lsof -i :8080

COMMAND ?PID ? USER ? FD ? TYPE DEVICE SIZE/OFF NODE NAME

java ? ?3058 tomcat ? 47u ?IPv6 ?29317 ? ? ?0t0 ?TCP *:webcache (LISTEN)


修改主配置文件(綠色背景為修改后的配置),

[tomcat@localhost tomcat8.0]$ cd /usr/local/tomcat8.0/conf

[tomcat@localhost conf]$ vim server.xml?

<?xml version='1.0' encoding='utf-8'?>

<!--

? Licensed to the Apache Software Foundation (ASF) under one or more

? contributor license agreements. ?See the NOTICE file distributed with

? this work for additional information regarding copyright ownership.

? The ASF licenses this file to You under the Apache License, Version 2.0

? (the "License"); you may not use this file except in compliance with

? the License. ?You may obtain a copy of the License at


? ? ? http://www.apache.org/licenses/LICENSE-2.0


? Unless required by applicable law or agreed to in writing, software

? distributed under the License is distributed on an "AS IS" BASIS,

? WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

? See the License for the specific language governing permissions and

? limitations under the License.

-->

<!-- Note: ?A "Server" is not itself a "Container", so you may not

? ? ?define subcomponents such as "Valves" at this level.

? ? ?Documentation at /docs/config/server.html

?-->

<Server port="8005" shutdown="SHUTDOWN">

? <Listener className="org.apache.catalina.startup.VersionLoggerListener" />

? <!-- Security listener. Documentation at /docs/config/listeners.html

? <Listener className="org.apache.catalina.security.SecurityListener" />

? -->

? <!--APR library loader. Documentation at /docs/apr.html -->

? <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

? <!-- Prevent memory leaks due to use of particular java/javax APIs-->

? <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />

? <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

? <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />


? <!-- Global JNDI resources

? ? ? ?Documentation at /docs/jndi-resources-howto.html

? -->

? <GlobalNamingResources>

? ? <!-- Editable user database that can also be used by

? ? ? ? ?UserDatabaseRealm to authenticate users

? ? -->

? ? <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>

?<!-- A "Service" is a collection of one or more "Connectors" that share

? ? ? ?a single "Container" Note: ?A "Service" is not itself a "Container",

? ? ? ?so you may not define subcomponents such as "Valves" at this level.

? ? ? ?Documentation at /docs/config/service.html

? ?-->

? <Service name="Catalina">


? ? <!--The connectors can use a shared executor, you can define one or more named thread pools-->

? ? <!--

? ? <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"

? ? ? ? maxThreads="150" minSpareThreads="4"/>

? ? -->



? ? <!-- A "Connector" represents an endpoint by which requests are received

? ? ? ? ?and responses are returned. Documentation at :

? ? ? ? ?Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)

? ? ? ? ?Java AJP ?Connector: /docs/config/ajp.html

? ? ? ? ?APR (HTTP/AJP) Connector: /docs/apr.html

? ? ? ? ?Define a non-SSL/TLS HTTP/1.1 Connector on port 8080

? ? -->

? ? <Connector port="8080" protocol="HTTP/1.1"

? ? ? ? ? ? ? ?connectionTimeout="20000"

? ? ? ? ? ? ? ?redirectPort="8443" />

? ? <!-- A "Connector" using the shared thread pool-->

? ? <!--

? ? <Connector executor="tomcatThreadPool"

? ? ? ? ? ? ? ?port="8080" protocol="HTTP/1.1"

? ? ? ? ? ? ? ?connectionTimeout="20000"

? ? ? ? ? ? ? ?redirectPort="8443" />

? ? -->

? ? <!-- Define a SSL/TLS HTTP/1.1 Connector on port 8443

? ? ? ? ?This connector uses the NIO implementation that requires the JSSE

? ? ? ? ?style configuration. When using the APR/native implementation, the

? ? ? ? ?OpenSSL style configuration is required as described in the APR/native

? ? ? ? ?documentation -->

? ? <!--

? ? <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"

? ? ? ? ? ? ? ?maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

? ? ? ? ? ? ? ?clientAuth="false" sslProtocol="TLS" />

? ? -->


? ? <!-- Define an AJP 1.3 Connector on port 8009 -->

? ? <!-- Define an AJP 1.3 Connector on port 8009 -->

? ? <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />



? ? <!-- An Engine represents the entry point (within Catalina) that processes

? ? ? ? ?every request. ?The Engine implementation for Tomcat stand alone

? ? ? ? ?analyzes the HTTP headers included with the request, and passes them

? ? ? ? ?on to the appropriate Host (virtual host).

? ? ? ? ?Documentation at /docs/config/engine.html -->


? ? <!-- You should set jvmRoute to support load-balancing via AJP ie :

? ? <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">

? ? -->

? ? <Engine name="Catalina" defaultHost="test.com">


? ? ? <!--For clustering, please take a look at documentation at:

? ? ? ? ? /docs/cluster-howto.html ?(simple how to)

? ? ? ? ? /docs/config/cluster.html (reference documentation) -->

? ? ? <!--

? ? ? <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

? ? ? -->


? ? ? <!-- Use the LockOutRealm to prevent attempts to guess user passwords

? ? ? ? ? ?via a brute-force attack -->

? ? ? <Realm className="org.apache.catalina.realm.LockOutRealm">

? ? ? ? <!-- This Realm uses the UserDatabase configured in the global JNDI

? ? ? ? ? ? ?resources under the key "UserDatabase". ?Any edits

? ? ? ? ? ? ?that are performed against this UserDatabase are immediately

? ? ? ? ? ? ?available for use by the Realm. ?-->

? ? ? ? <Realm className="org.apache.catalina.realm.UserDatabaseRealm"

? ? ? ? ? ? ? ?resourceName="UserDatabase"/>

? ? ? </Realm>


? ? ? <Host name="www.test.com" ?appBase="/web"

? ? ? ? ? ? unpackWARs="true" autoDeploy="true">

? ? ? ? <Context path="" docBase="www/" reloadable="true" />

? ? ? ? <Context path="/bbs" docBase="/web/bbs/" reloadable="true" />

? ? ? ? <!-- SingleSignOn valve, share authentication between web applications

? ? ? ? ? ? ?Documentation at: /docs/config/valve.html -->

? ? ? ? <!--

? ? ? ? <Valve className="org.apache.catalina.authenticator.SingleSignOn" />

? ? ? ? -->


? ? ? ? <!-- Access log processes all example.

? ? ? ? ? ? ?Documentation at: /docs/config/valve.html

? ? ? ? ? Note: The pattern used is equivalent to using pattern="common" -->

? ? ? ? <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@localhost web]$ mkdir -pv /web/{www,bbs}

[tomcat@localhost web]$ tree /web

/web

├── bbs

│ ? └── index.html

└── www

? ? └── index.jsp


[tomcat@localhost www]$ /usr/local/tomcat8.0/bin/shutdown.sh?

[tomcat@localhost www]$ /usr/local/tomcat8.0/bin/startup.sh?

[tomcat@localhost conf]$ lsof -i :8080

COMMAND ?PID ? USER ? FD ? TYPE DEVICE SIZE/OFF NODE NAME

java ? ?4278 tomcat ? 47u ?IPv6 ?58195 ? ? ?0t0 ?TCP *:webcache (LISTEN)


附:

server.xml的配置
server.xml是tomcat的核心配置文件,在tomcat中也需要配置虛擬主機(jī),server.xml是一個(gè)有標(biāo)簽組成的文本文件,找到默認(rèn)的<Host>標(biāo)簽,在此標(biāo)簽結(jié)尾,也就是</Host>后面增加如下虛擬主機(jī)配置:
<Host name="192.168.60.198" debug="0" appBase="/webdata/www" unpackWARs="true">
??? <Context path="" docBase="" debug="1"/>
</Host>
其中:
?name:指定虛擬主機(jī)名字,這里為了演示方便,用IP代替。
?debug:指定日志輸出級(jí)別
?appBase:存放Web應(yīng)用程序的基本目錄,可以是絕對(duì)路徑或相對(duì)于$CATALINA_HOME的目錄,默認(rèn)是$CATALINA_HOME/webapps。
?unpackWARs:如果為true,則tomcat會(huì)自動(dòng)將WAR文件解壓后運(yùn)行,否則不解壓而直接從WAR文件中運(yùn)行應(yīng)用程序。

?autoDeploy:如果為true,表示Tomcat啟動(dòng)時(shí)會(huì)自動(dòng)發(fā)布appBase目錄下所有的Web應(yīng)用(包括新加入的Web應(yīng)用)
?path:表示此Web應(yīng)用程序的url入口,如為“/jsp”,則請(qǐng)求的URL為
http://localhost/jsp/
?docBase:指定此Web應(yīng)用的絕對(duì)或相對(duì)路徑,也可以為WAR文件的路徑。
這樣tomcat的虛擬主機(jī)就創(chuàng)建完成了。


轉(zhuǎn)載于:https://blog.51cto.com/zengwj1949/1936945

總結(jié)

以上是生活随笔為你收集整理的web服务之Tomcat的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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