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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

58.配置tomcat监听80 虚拟主机 日志

發布時間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 58.配置tomcat监听80 虚拟主机 日志 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

16.4 配置Tomcat監聽80端口

16.5/16.6/16.7 配置Tomcat虛擬主機(有如何創建一個zrlog博客)

16.8 Tomcat日志

擴展

邱李的tomcat文檔 https://www.linuser.com/forum.php?mod=forumdisplay&fid=37

JAR、WAR包區別 http://blog.csdn.net/lishehe/article/details/41607725

tomcat常見配置匯總 http://blog.sina.com.cn/s/blog_4ab26bdd0100gwpk.html

resin安裝 http://fangniuwa.blog.51cto.com/10209030/1763488/

1 tomcat 單機多實例

http://www.ttlsa.com/tomcat/config-multi-tomcat-instance/

2 tomcat的jvm設置和連接數設置

http://www.cnblogs.com/bluestorm/archive/2013/04/23/3037392.html

3 jmx監控tomcat

http://blog.csdn.net/l1028386804/article/details/51547408

4 jvm性能調優監控工具jps/jstack/jmap/jhat/jstat

http://blog.csdn.net/wisgood/article/details/25343845?

http://guafei.iteye.com/blog/1815222

5 gvm gc 相關

http://www.cnblogs.com/Mandylover/p/5208055.html

http://blog.csdn.net/yohoph/article/details/42041729

tomcat內存溢出

https://blog.csdn.net/ye1992/article/details/9344807

?

?

?

?

16.4 配置Tomcat監聽80端口:

?

?

?

?

tomcat監聽的是8080。

那么如果想直接訪問,不想在瀏覽器里還要輸入8080。也就是直接在瀏覽器里直接輸一個IP或者域名訪問的是80端口(80端口是可以省略掉的。其他的就要帶上,很不方便)。

所以tomcat也是可以自定義端口的,也就是說把8080改成80的。

以下:

~1.vim /usr/local/tomcat/conf/server.xml tomcat的配置文件

搜索8080

Connector port="8080" protocol="HTTP/1.1"修改為Connector port="80" protocol="HTTP/1.1"

~2./usr/local/tomcat/bin/shutdown.sh

~3./usr/local/tomcat/bin/startup.sh

~4.如果啟動了nginx,需要將nginx停掉(etc/init.d/nginx stop)。然后再重啟tomcat

?

?

實例:

[root@axinlinux-01 src]# vim /usr/local/tomcat/conf/server.xml vimtomcat的配置文件

<Connector port="80" protocol="HTTP/1.1" 將8080改為80

connectionTimeout="20000"

redirectPort="8443" />

[root@axinlinux-01 src]# /usr/local/tomcat/bin/shutdown.sh

更改完肯定要重啟服務。不支持restart。先shutdown,再start

Using CATALINA_BASE: /usr/local/tomcat

Using CATALINA_HOME: /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME: /usr/local/jdk1.8

Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

[root@axinlinux-01 src]# /usr/local/tomcat/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/local/jdk1.8

Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

Tomcat started.

[root@axinlinux-01 src]# ps aux |grep java 查看進程是有的

root 3125 6.6 6.2 2980484 116476 pts/0 Sl 14:50 0:08 /usr/local/jdk1.8/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start

root 3177 0.0 0.0 112720 980 pts/0 S+ 14:52 0:00 grep --color=auto java

[root@axinlinux-01 src]# netstat -lntp |grep java 但是80端口還沒有出現

tcp6 0 0 127.0.0.1:8005 :::* LISTEN 3125/java

tcp6 0 0 :::8009 :::* LISTEN 3125/java

[root@axinlinux-01 src]# netstat -lntp |grep 80 搜一下80。會發現80是nginx

當nginx監聽了80端口,tomcat就不能再監聽80端口。這叫做端口占用

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1078/nginx: master

tcp6 0 0 127.0.0.1:8005 :::* LISTEN 3125/java

tcp6 0 0 :::8009 :::* LISTEN 3125/java

[root@axinlinux-01 src]# /etc/init.d/nginx stop 所以先停掉nginx

[root@axinlinux-01 src]# /usr/local/tomcat/bin/shutdown.sh 再來重啟tomcat

[root@axinlinux-01 src]# /usr/local/tomcat/bin/startup.sh

[root@axinlinux-01 src]# netstat -lntp |grep java 會發現tomcat已經監聽了80

tcp6 0 0 :::80 :::* LISTEN 3280/java

tcp6 0 0 127.0.0.1:8005 :::* LISTEN 3280/java

tcp6 0 0 :::8009 :::* LISTEN 3280/java

再來用瀏覽器直接訪問192.168.208.128

(需要注意的是,8005啟動會比較慢,在8005還沒有啟動的時候,訪問的話會比較慢)

?

?

?

?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

?

?

?

?

16.5/16.6/16.7 配置Tomcat虛擬主機:

?

?

?

之前的Apache或者是nginx,他們都屬于webserver,都支持虛擬主機配置文件。

虛擬主機配置文件就是說一臺服務器上或者說一個webserver可以支持一個IP下面可以訪問多個域名,每一個域名代表著一個網站,所以我們可以配置多個網站。那么每一個網站的配置文件都是一個虛擬主機。

tomcat同樣也存在這樣的概念

~1.

vim /usr/local/tomcat/conf/server.xml 看一下tomcat的配置文件

其中<Host>和</Host>之間的配置為虛擬主機配置部分,name定義域名,

appBase定義應用的目錄,Java的應用通常是一個war的壓縮包,你只需要將war的壓縮包放到appBase目錄下面即可。剛剛阿銘訪問的Tomcat默認頁其實就是在appBase目錄下面,不過是在它子目錄ROOT里。

docBase,這個參數用來定義網站的文件存放路徑,如果不定義,默認是在appBase/ROOT下面,定義了docBase就以該目錄為主了,其中appBase和docBase可以一樣。在這一步操作過程中很多同學遇到過訪問404的問題,其實就是docBase沒有定義對。

appBase為應用存放目錄,通常是需要把war包直接放到該目錄下面,它會自動解壓成一個程序目錄

實例~1.中有更詳細的解釋

~2.

增加虛擬主機,編輯server.xml,在</Host>下面增加如下內容

<Host name="www.123.cn" appBase=""

unpackWARs= "true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false">

<Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/>

</Host>

?

~3.

下面我們通過部署一個java的應用來體會appBase和docBase目錄的作用

我們下載的項目是java應用是zrlog。

我們搭建php的博客可以用wordpress,博客就是記錄文章的,那么這是php的博客。

那么關于java的博客,就是zrlog(當然只是其中的一個)。

1.下載zrlog wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war

2.mv zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/

3.mv /usr/local/tomcat/webapps/zrlog-1.7.1-baaecb9-release /usr/local/tomcat/webapps/zrlog

4.create database zrlog; 創建zrlog這個用戶

grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by 'wangxin789';

創建zrlog庫(庫可以不加單引號),指定他的IP和密碼

4.瀏覽器訪問 ip:8080/zrlog

5.mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/

建立doc目錄,使博客直接輸入IP即可訪問

?

?

實例:

~1.

<Host name="localhost" appBase="webapps"

unpackWARs="true" autoDeploy="true">

tomcat的配置文件格式和Apache nginx不太一樣,是xml這種形式。那么這部分Host就表示一個虛擬主機。以下,解釋這四項:

域名就叫Host name=“localhost”

appBase="webapps"的意思是,只他的應用項目在哪里。比如搭建了一個tomcat,要想用tomcat去跑一個網站,那要把網站放在那里呢?:

首先他的應用不能是傳統意義上的目錄(比如nginx訪問網站的時候,要給他指定一個目錄,這個目錄里存放著php的文件或者是HTML的文件,然后再去訪問)。那tomcat就不太一樣,需要提供一個WAR的包(就是一個文件一個壓縮包,這個壓縮包里面放著運行網站的文件包括配置、gsp的代碼,還有一些和數據庫相關的,像圖片等等),需要打包WAR這樣的文件。那么這個文件就要放在"webapps"里面

unpackWARs="true"的意思是,是否自動的解壓WAR這個包,"true"就是自動的解壓。也就是說,把WAR包放在webapps里面,就自動的解壓了。

autoDeploy="true"如果此項設為true,表示Tomcat服務處于運行狀態時,能夠監測appBase下的文件,如果有新有web應用加入進來,會自運發布這個WEB應用

docbase=“”當然如果不想定義WAR包,還可以單獨指定一個目錄,這個目錄里存放了一些gsp的文件。也就是說給他提供的不是一個WAR包,而是一個目錄,這個目錄里有gsp的程序。那么如果這樣的話,就需要加上docbase來定義。相當于不用WAR包,而是解壓完了之后的

appbase與docbase二選一。如果同時存在其中一個為空

<!-- 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" />

<Valve 這一部分是配置日志的

</Host>

~2.

[root@axinlinux-01 src]# vim /usr/local/tomcat/conf/server.xml

</Host> 在第一個Host對應的后面的那個Host。也就是這一行下面加入一個我們自定義的Host

<Host name="www.123.cn" appBase=""

unpackWARs= "true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false">

<Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/>

</Host>

我們定義的是docbase,那么appbase相應的為空

~3.

[root@axinlinux-01 src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war

[root@axinlinux-01 src]# du -sh zrlog-1.7.1-baaecb9-release.war

6.8M zrlog-1.7.1-baaecb9-release.war

[root@axinlinux-01 src]# ls /usr/local/tomcat/webapps/ appbase默認的路徑實在這個路徑下

docs examples host-manager manager ROOT 默認是這5個目錄

[root@axinlinux-01 src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/

可以先做一個實驗,我們把下載的這個WAR包,cp到appbase的默認路徑下

[root@axinlinux-01 src]# ls /usr/local/tomcat/webapps/ 再來看,發現這個WAR包自動的解壓了。就是我們剛才說的unpackWARs="true"定義的,自動的解壓了

docs examples host-manager manager ROOT zrlog-1.7.1-baaecb9-release zrlog-1.7.1-baaecb9-release.war

此時要注意,如果刪掉這個WAR包,他自動解壓的這個目錄也會一并刪掉

[root@axinlinux-01 src]# cd /usr/local/tomcat/webapps/

[root@axinlinux-01 webapps]# mv zrlog-1.7.1-baaecb9-release zrlog

然后,我們來安裝他。用瀏覽器來安裝,輸入http://192.168.208.128/zrlog/,會跳出安裝向導:

[root@axinlinux-01 webapps]# ps aux |grep mysql 首先檢查mysql是否啟動

[root@axinlinux-01 webapps]# mysql -uroot -pwangxin789 進入mysql

MySQL [(none)]> create database zrlog; 創建zrlog這個用戶

Query OK, 1 row affected (0.00 sec)

MySQL [(none)]> grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by 'wangxin789';

創建zrlog庫(庫可以不加單引號),指定他的IP和密碼

Query OK, 0 rows affected (0.01 sec)

MySQL [(none)]> quit 退出

Bye

[root@axinlinux-01 webapps]# mysql -uzrlog -h127.0.0.7 -pwangxin789 再次登錄,檢查創建的對不對

MySQL [(none)]> show databases; 看一下是不是有zrlog

+--------------------+

| Database |

+--------------------+

| information_schema |

| test |

| zrlog |

+--------------------+

再回到瀏覽器上,輸入我們剛才mysql設置的用戶密碼:

完成,點擊查看

可以先寫個帖子

寫完,點擊保存

再用瀏覽器查看一下http://192.168.208.128/zrlog/

就有了我們剛寫的帖子

?

?

但是,我們訪問192.168.208.128/zrlog才能訪問到博客。比較麻煩,我們可以設置一下,直接訪問域名就可以到博客:

我們設置了docBase="/data/wwwroot/123.cn/。先建一個123.cn的目錄

[root@axinlinux-01 ~]# mkdir /data/wwwroot/123.cn

[root@axinlinux-01 ~]# mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/

再在windows上設置www.123.cn的housts,讓www.123.cn訪問本機IP

[root@axinlinux-01 ~]# /usr/local/tomcat/bin/shutdown.sh 重啟一下

[root@axinlinux-01 ~]# /usr/local/tomcat/bin/startup.sh

[root@axinlinux-01 ~]# ps aux |grep java 查看是否起來

[root@axinlinux-01 ~]# netstat -lntp |grep java 查看端口。等到8005起來才可以

tcp6 0 0 :::80 :::* LISTEN 6185/java

tcp6 0 0 127.0.0.1:41206 :::* LISTEN 6205/java

tcp6 0 0 127.0.0.1:21206 :::* LISTEN 6205/java

tcp6 0 0 127.0.0.1:8005 :::* LISTEN 6185/java

tcp6 0 0 127.0.0.1:51206 :::* LISTEN 6205/java

tcp6 0 0 :::8009 :::* LISTEN 6185/java

再回到瀏覽器上,直接www.123.cn。就可以了,如下圖:

總結一下:

一開始我們是把zrlog放在appbase目錄下,并且是讓他自動解壓的。而后我們又把解壓完的目錄放到了docbase目錄下,可以直接訪問。

再來看比對一下配置文件:

<Host name="localhost" appBase="webapps"

unpackWARs="true" autoDeploy="true">

appBase="webapps"這個實際上是一個路徑,是一個相對路徑,就是我們/usr/local/tomcat/webapps的這個webapps,也就是說直接寫一個webapps,就直接省略掉了前面的/usr/local/tomcat/(比如我們寫一個conf,就表示的/usr/local/tomcat/conf)

當我們使用WAR包的時候,才需要把WAR包放到appbase里面,并讓他自動解壓

如果訪問的網站他就是一個目錄,就要把涉及到這個文件的所有文件都放到docbase里面

簡單講,appbase是放WAR包的,docbase是放網站程序的

知識點:

當我們訪問的時候如果遇到404的問題:

除了考慮appbase和docbase。還要考慮apabase路徑涉及到一個默認的目錄,就是root。就是webapps下有一個root,這個root是默認的,也就說我們訪問一個圖片等靜態文件就是在root下的。如果我們自定義一個appbase,那他的路徑下也應該要有一個root目錄,把圖片等靜態文件放到root目錄下才能正常訪問

?

?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

?

?

?

16.8 Tomcat日志:

?

?

~1.

ls /usr/local/tomcat/logs

其中catalina開頭的日志為Tomcat的綜合日志,它記錄Tomcat服務相關信息,也會記錄錯誤日志。 經常關注

其中catalina.2017-xx-xx.log和catalina.out內容相同,前者會每天生成一個新的日志。

host-manager和manager為管理相關的日志,其中host-manager為虛擬主機的管理日志。 用的很少

localhost和localhost_access為虛擬主機相關日志,其中帶access字樣的日志為訪問日志,不帶access字樣的為默認虛擬主機的錯誤日志。

~2.

訪問日志默認不會生成,需要在server.xml中配置一下。

具體方法是在對應虛擬主機的<Host></Host>里面加入下面的配置(假如域名為123.cn):

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

prefix="123.cn_access" suffix=".log"

pattern="%h %l %u %t &quot;%r&quot; %s %b" />

prefix定義訪問日志的前綴,suffix定義日志的后綴,pattern定義日志格式。新增加的虛擬主機默認并不會生成類似默認虛擬主機的那個localhost.日期.log日志,錯誤日志會統一記錄到catalina.out中。關于Tomcat日志,你最需要關注catalina.out,當出現問題時,我們應該第一想到去查看它。

?

?

轉載于:https://my.oschina.net/u/3866149/blog/1937050

總結

以上是生活随笔為你收集整理的58.配置tomcat监听80 虚拟主机 日志的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。