16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机16.8 Tomcat日志
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
16.4 配置Tomcat監(jiān)聽80端口
直接訪問,使用默認(rèn)的web服務(wù),需要改動(dòng)端口為80,如果不是80端口那么訪問頁面的時(shí)候需要指定端口才能訪問
vim /usr/local/tomcat/conf/server.xml Connector port="8080" protocol="HTTP/1.1"修改為Connector port="80" protocol="HTTP/1.1"重啟tomcat服務(wù)
/usr/local/tomcat/bin/shutdown.sh //關(guān)閉服務(wù) /usr/local/tomcat/bin/startup.sh //開啟服務(wù)關(guān)閉服務(wù)的時(shí)候報(bào)錯(cuò)
[root@aminglinux-02 ~]# /usr/local/tomcat/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/local/jdk1.8 Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar 八月 29, 2017 11:00:28 下午 org.apache.catalina.startup.Catalina stopServer 嚴(yán)重: Could not contact [localhost:[8005]]. Tomcat may not be running. 八月 29, 2017 11:00:28 下午 org.apache.catalina.startup.Catalina stopServer 嚴(yán)重: Catalina.stop: java.net.ConnectException: 拒絕連接 (Connection refused)at java.net.PlainSocketImpl.socketConnect(Native Method)at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)at java.net.Socket.connect(Socket.java:589)at java.net.Socket.connect(Socket.java:538)at java.net.Socket.<init>(Socket.java:434)at java.net.Socket.<init>(Socket.java:211)at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:477)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:408)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:497)查度娘以后得到答案,需要
export JAVA_HOME=/usr/local/jdk1.8/才能正常關(guān)閉
正常關(guān)閉以后就可以正常開啟tomcat服務(wù)
查看是否開始監(jiān)聽80端口
發(fā)現(xiàn)并沒有監(jiān)聽,因?yàn)閚ginx已經(jīng)監(jiān)聽了 80,80端口被占用
[root@aminglinux-02 ~]# !net netstat -lntp |grep java tcp6 0 0 :::8009 :::* LISTEN 2597/java所需需要停掉nginx服務(wù)
[root@aminglinux-02 ~]# service nginx stop Stopping nginx (via systemctl): [ 確定 ]停掉服務(wù)以后再重啟tomcat 就可以查看到 80端口了
[root@aminglinux-02 ~]# /usr/local/tomcat/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/local/jdk1.8/jre Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar [root@aminglinux-02 ~]# /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/jre Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Tomcat started. [root@aminglinux-02 ~]# !net netstat -lntp |grep java tcp6 0 0 :::80 :::* LISTEN 2690/java tcp6 0 0 :::8009 :::* LISTEN 2690/java在瀏覽器看看不加8080訪問tomcat 是否能訪問默認(rèn)頁
在8005管理端口還沒有完全啟動(dòng)之前,頁面是打不開的,需要等8005管理端口完全開啟以后才能訪問
16.5/16.6/16.7 配置Tomcat虛擬主機(jī)
在之前的學(xué)習(xí),Apache還是nginx都屬于webServer,都支持虛擬主機(jī)配置文件,虛擬主機(jī)配置文件一臺(tái)服務(wù)器上或者一個(gè)webserver上,支持一個(gè)IP下可以訪問多個(gè)域名,美國域名代表一個(gè)網(wǎng)站,所以可以配置多個(gè)網(wǎng)站,每個(gè)網(wǎng)站都稱之為一個(gè)虛擬主機(jī),tomcat同樣也支持這個(gè)概念
開啟虛擬機(jī)
編輯配置文件
vim /usr/local/tomcat/conf/server.xml搜索 Host
tomcat的配置文件格式為 xml,語法是“<>開頭,</>結(jié)尾”
虛擬主機(jī)配置文件內(nèi)容
其中<Host>和</Host>之間的配置為虛擬主機(jī)配置部分,name定義域名,appBase定義應(yīng)用的目錄,Java的應(yīng)用通常是一個(gè)jar的壓縮包,你只需要將jar的壓縮包放到appBase目錄下面即可。
剛剛訪問的Tomcat默認(rèn)頁其實(shí)就是在appBase目錄下面,不過是在它子目錄ROOT里。
name="localhost //主機(jī)名
appBase="webapps" //應(yīng)用項(xiàng)目所在 ①知識(shí)點(diǎn)②知識(shí)點(diǎn)
unpackWARs="true" //是否自動(dòng)解壓 “為true是會(huì)自動(dòng)解壓”
知識(shí)點(diǎn):tomcat他需要提供一個(gè)war的包,這里包含著運(yùn)行這個(gè)網(wǎng)站的文件、配置、數(shù)據(jù)庫相關(guān)等等。
知識(shí)點(diǎn):可以單獨(dú)的指定一個(gè)目錄,這個(gè)目錄里面存放的是 jsp 的文件,也就是說提供的不是war包
知識(shí)點(diǎn):webapps的默認(rèn)路徑為/usr/local/tomcat/webapps/,webapps目錄下,默認(rèn)有5個(gè)目錄(docs examples host-manager manager ROOT)
增加虛擬主機(jī)
<Host name="www.123.cn"; appBase="" //寫空就不會(huì)于docBase相互干擾unpackWARs= "true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"><Context path=""docBase="/data/wwwroot/123.cn/" //自定義站點(diǎn)路徑,不使用自動(dòng)安裝war的方式debug="0"reloadable="true"crossContext="true"/></Host>1.docBase,這個(gè)參數(shù)用來定義網(wǎng)站的文件存放路徑,如果不定義,默認(rèn)是在appBase/ROOT下面,定義了docBase就以該目錄為主了,其中appBase和docBase可以一樣。在這一步操作過程中很多同學(xué)遇到過訪問404的問題,其實(shí)就是docBase沒有定義對(duì)。 1.appBase為應(yīng)用存放目錄(實(shí)際上是一個(gè)相對(duì)路徑,相對(duì)于 /usr/local/tomcat/ 路徑),通常是需要把war包直接放到該目錄下面,它會(huì)自動(dòng)解壓成一個(gè)程序目錄
為了方便測試,下載一個(gè)zrlog(java寫的blog站點(diǎn)應(yīng)用,輕量),進(jìn)行測試
wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war測試一
測試appbase自動(dòng)解壓war包
[root@aminglinux-02 src]# mv zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/ [root@aminglinux-02 src]# ls /usr/local/tomcat/webapps/ docs examples host-manager manager ROOT zrlog-1.7.1-baaecb9-release zrlog-1.7.1-baaecb9-release.war發(fā)現(xiàn)移動(dòng)到webapps目錄以后,不一會(huì)就會(huì)生成一個(gè)目錄,說明配置是有效的
為了不影響實(shí)驗(yàn)結(jié)果,先更改自動(dòng)生成的目錄的名字,再移走webapps目錄下的war包;因?yàn)橐坏┮谱遷ar包,和war同名的目錄也會(huì)自動(dòng)刪除;如果這個(gè)目錄下沒有和war同名的目錄,也會(huì)重復(fù)的解壓
[root@aminglinux-02 webapps]# mv zrlog-1.7.1-baaecb9-release zrlog [root@aminglinux-02 webapps]# ls docs examples host-manager manager ROOT zrlog zrlog-1.7.1-baaecb9-release zrlog-1.7.1-baaecb9-release.war [root@aminglinux-02 webapps]# mv zrlog-1.7.1-baaecb9-release.war /usr/local/src/ [root@aminglinux-02 webapps]# ls docs examples host-manager manager ROOT zrlog zrlog-1.7.1-baaecb9-release [root@aminglinux-02 webapps]# ls docs examples host-manager manager ROOT zrlog這是就可以登錄站點(diǎn),嘗試訪問了
安裝向?qū)?#xff0c;其實(shí)就是一個(gè)配置數(shù)據(jù)庫的過程
配置數(shù)據(jù)庫
現(xiàn)在就來創(chuàng)建一個(gè)供zrlog使用的數(shù)據(jù)庫,和賬戶
create databases zrlog ; grant all on zrlog.* to 'zrlog'@localhost identified by 'aminglinux' ;順手檢查一下mysql用戶是否正確
[root@aminglinux-02 webapps]# mysql -uzrlog -paminglinux Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.6.35 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | test | | zrlog | +--------------------+ 3 rows in set (0.00 sec)然后回到瀏覽器,配置相關(guān)信息,之后就能訪問了
測試二
測試用docBase指定路徑,訪問是否生效
前面做了新增虛擬機(jī)配置,自然就需要生成對(duì)應(yīng)的目錄
mkdir /data/wwwroot/123.cn/將之前的zrlog的文件移動(dòng)到當(dāng)前目錄下
mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/ [root@aminglinux-02 yulongxuan]# ls /data/wwwroot/123.cn/ admin/ assets/ error/ favicon.ico include/ install/ META-INF/ WEB-INF/重啟服務(wù) 之前修改了配置文件,新增了虛擬主機(jī),但并沒有重啟,所以沒有及時(shí)生效
[root@aminglinux-02 yulongxuan]# /usr/local/tomcat/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/local/jdk1.8/jre Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar [root@aminglinux-02 yulongxuan]# /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/jre Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Tomcat started.然后通過瀏覽器訪問 www.123.cn
16.8 Tomcat日志
日志不會(huì)默認(rèn)生成
?具體方法是在對(duì)應(yīng)虛擬主機(jī)的<Host></Host>里面加入下面的配置(假如域名為123.cn):
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="123.cn_access" suffix=".log"pattern="%h %l %u %t "%r" %s %b" />?prefix定義訪問日志的前綴,suffix定義日志的后綴,pattern定義日志格式。新增加的虛擬主機(jī)默認(rèn)并不會(huì)生成類似默認(rèn)虛擬主機(jī)的那個(gè)localhost.日期.log日志,錯(cuò)誤日志會(huì)統(tǒng)一記錄到catalina.out中。關(guān)于Tomcat日志,你最需要關(guān)注catalina.out,當(dāng)出現(xiàn)問題時(shí),我們應(yīng)該第一想到去查看它。
轉(zhuǎn)載于:https://my.oschina.net/nova12315/blog/1785451
總結(jié)
以上是生活随笔為你收集整理的16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机16.8 Tomcat日志的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Confluence 6 授权
- 下一篇: 自研服务治理框架----文章汇总