一、配置Tomcat監聽80端口,因爲在訪問tomcat的網頁時須要在網址後面加上:8080的端口,而要想直接訪問的話,則須要修改成80的端口便可:java
1:配置Tomcat監聽80端口: 修改配置文件: /usr/local/tomcat/conf/server.xmlmysql
[root@localhost_002 tomcat]# vim /usr/local/tomcat/conf/server.xml #<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 把這一行修改成: <Connector port="80" protocol="HTTP/1.1"
2:而後重啓啓動apache服務: /usr/local/tomcat/shutdown.shweb
[root@localhost_002 tomcat]# /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 [root@localhost_002 tomcat]# /usr/local/tomcat/bin/startup.sh
註釋:發現重啓apache時沒有起來,查看日記後而且監聽端口80已經被佔用:信息以下:sql
[root@localhost_002 tomcat]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:52588 0.0.0.0:* LISTEN 871/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1081/master tcp6 0 0 :::52588 :::* LISTEN 871/sshd tcp6 0 0 :::80 :::* LISTEN 1212/httpd tcp6 0 0 ::1:25 :::* LISTEN 1081/master tcp6 0 0 127.0.0.1:8005 :::* LISTEN 1795/java tcp6 0 0 :::8009 :::* LISTEN 1795/java tcp6 0 0 :::3306 :::* LISTEN 1094/mysqld
註釋:發現80端口已經被apache(http)佔用,能夠說明當80端口被佔用時,其他須要80端口的服務就沒法啓動了,其而且查看其訪問日記以下:數據庫
[root@localhost_002 logs]# tail -f catalina.2018-08-30.log at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493) 30-Aug-2018 22:06:12.330 信息 [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["ajp-nio-8009"] 30-Aug-2018 22:06:12.331 信息 [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["ajp-nio-8009"]
3:解決辦法:須要關閉apache服務,而後在從新啓動Tomcat:apache
[root@localhost_002 logs]# /usr/local/apapche2.4/bin/apachectl stop #關閉apache服務: [root@localhost_002 logs]# /usr/local/tomcat/bin/shutdown.sh #關閉tomcat服務: [root@localhost_002 logs]# /usr/local/tomcat/bin/shutdown.sh #啓動tomcat服務: [root@localhost_002 logs]# netstat -lntp #查看其監聽端口: Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:52588 0.0.0.0:* LISTEN 871/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1081/master tcp6 0 0 :::52588 :::* LISTEN 871/sshd tcp6 0 0 :::80 :::* LISTEN 1972/java tcp6 0 0 ::1:25 :::* LISTEN 1081/master tcp6 0 0 127.0.0.1:8005 :::* LISTEN 1972/java tcp6 0 0 :::8009 :::* LISTEN 1972/java tcp6 0 0 :::3306 :::* LISTEN 1094/mysqld
註釋:發現tomcat服務能夠正常啓動,而且其端口爲80:bootstrap
二、配置Tomcat的虛擬主機:一個服務器支持一個IP能夠訪問多個域名,每一個域名錶明一個網站,即一個虛擬主機:vim
1:修改其Tomcat的配置文件: /usr/local/tomcat/conf/server.xml #新增配置文件:瀏覽器
[root@localhost_002 ROOT]# vim /usr/local/tomcat/conf/server.xml </Host> <Host name="www.123.cn" appBase="" #核心文件1: name是定義域名, appBase是定義應用的目錄: unpackWARs= "true" autoDeploy="true" #核心文件2: unpackWARs定義是否自動解壓WAR包在appBase,autoDeploy表示tomcat服務運行時可以檢測appBase下的文件,當有新的web應用加入進來,會自動發佈這個應用: xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/> </Host> </Engine> </Service> </Server>
註釋:核心配置文件只有如下四行:tomcat
name="www.123.cn" 表示指定域名:
appBase=" " 定義tomcat的應用(war文件)存放位置:
unpackWARs= "true" 表示是否自動解壓WAR包,當把WAR包放到appBase裏面的時候會自動解壓的:true則是解壓:
docBase="/data/wwwroot/123.cn/" 也能夠解壓到指定的目錄,經過docbase來定義:至關因而把war包解壓後的文件放到了這個目錄:
若是你不想解壓的話,則能夠放到appBase目錄:能夠在使用appBase和docBase二選一,則須要把其中一個設置爲空則能夠:
註釋:定義了docBase後就以該目錄爲主了:
2:本節咱們經過部署一個java的博客應用來體會下appBase和docBahse目錄的應用:
1:下載這個war包的程序zrlog: wget http://d1.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
[root@localhost_002 src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war 已發出 HTTP 請求,正在等待迴應... 200 OK 長度:7122027 (6.8M) [application/zip] 正在保存至: 「zrlog-1.7.1-baaecb9-release.war」 100%[===========================================================================================>] 7,122,027 4.12MB/s 用時 1.6s 2018-08-30 23:21:57 (4.12 MB/s) - 已保存 「zrlog-1.7.1-baaecb9-release.war」 [7122027/7122027])
2:把下載後的文件挪位置到tomcat: /usr/local/tomcat/webapps/
[root@localhost_002 src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
3:此時會發現webapps裏的zrlog的已經自動解壓到了目錄: #這得益於我定義的unpackWARs="true"
[root@localhost_002 webapps]# ls docs examples host-manager manager ROOT zrlog-1.7.1-baaecb9-release zrlog-1.7.1-baaecb9-release.war
註釋:可是若是咱們挪走了這個目錄,解壓後的目錄也會消失,因此咱們須要修更名稱,由於若是下面安裝博客時,會自動覆蓋和解壓到此目錄:
註釋:ROOT目錄下主要放一些圖片之類的,若是網站涉及到一些圖片之類的,能夠放在此目錄下:
[root@localhost_002 webapps]# mv zrlog-1.7.1-baaecb9-release zrlog
4:此時咱們在瀏覽器裏訪問,會出現安裝嚮導: http://192.168.149.130/zrlog
5:在mysql建立相關數據庫和用戶: /usr/local/mysql/bin/mysql
[root@localhost_002 webapps]# /usr/local/mysql/bin/mysql #進入mysql數據庫: mysql> create database zrlog; #建立zrlog數據庫: Query OK, 1 row affected (0.04 sec) mysql> grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by 'nihao123!'; #建立zrlog用戶: Query OK, 0 rows affected (0.13 sec) mysql> quit Bye [root@localhost_002 webapps]# /usr/local/mysql/bin/mysql -uzrlog -h127.0.0.1 -pnihao123! #測試用戶: mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | test | | zrlog | +--------------------+ 3 rows in set (0.07 sec) mysql> quit Bye
註釋:首先創進入mysql後,並建立數據庫和對應用戶,而後測試當前用戶是否能夠登陸:
由圖例看到,咱們進入mysql經過絕對路徑進入,能夠把mysql加入到絕對路徑後,能夠經過mysql直接登陸:以下:
通常有臨時修改和永久修改兩種辦法,以下:
[root@localhost_02 ~]# /usr/local/mysql/bin/mysql mysql> quit Bye #臨時添加絕對路徑,重啓後失效: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin:/root/bin:/usr/local/mysql/bin [root@localhost_02 ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin:/root/bin:/usr/local/mysql/bin #永久添加絕對路徑,需修改/etc/profile文件:加入以下一行: [root@localhost_02 ~]# vim /etc/profile PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin:/usr/local/mysql/bin [root@localhost_02 ~]# mysql mysql> quit Bye
6:而後把相關信息(mysql數據庫名和密碼)輸入到博客的頁面,以下:
7:而後點擊下一步:設置管理員密碼:admin,還有網站標題:子標題:
8:點擊下一步後,查看你的網站,以下:
3:因爲訪問是經過192.168.149.130/zrlog(IP加域名)訪問,那怎麼設置經過IP地址直接訪問該博客,設置以下:
因爲在以前的時候定義過docBase,而docBase是直接存放解壓後的war文件: 以下:
<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的目錄在/data/wwwroot/123.cn/目錄下,全部須要把zrlog裏的全部文件挪位置到docBase所定義的目錄下才能夠:以下:
[root@localhost_02 tomcat]# mkdir /data/wwwroot/123.cn [root@localhost_02 tomcat]# mv webapps/zrlog/* /data/wwwroot/123.cn/ [root@localhost_02 tomcat]# ls !$ ls /data/wwwroot/123.cn/ admin assets error favicon.ico include install META-INF WEB-INF
1:而後須要重啓啓動服務,而且須要等8005端口(管理)起來後才能夠訪問:
[root@localhost_02 tomcat]# /usr/local/tomcat/bin/shutdown.sh #關閉: [root@localhost_02 tomcat]# /usr/local/tomcat/bin/startup.sh #啓動: [root@localhost_02 tomcat]# netstat -lntp|grep java tcp6 0 0 :::80 :::* LISTEN 2843/java tcp6 0 0 127.0.0.1:56178 :::* LISTEN 2864/java tcp6 0 0 127.0.0.1:46178 :::* LISTEN 2864/java tcp6 0 0 127.0.0.1:26178 :::* LISTEN 2864/java tcp6 0 0 127.0.0.1:8005 :::* LISTEN 2843/java tcp6 0 0 :::8009 :::* LISTEN 2843/java
2:訪問測試:在瀏覽器輸入域名:www.123.cn 註釋:須要在物理機綁定hosts:
註釋:可能會啓動一些其餘的端口,這是一些其餘的應用端口了:
三、Tomcat日記:有四類日記: /usr/local/tomcat/logs
[root@localhost_02 tomcat]# ls logs/ catalina.2018-08-30.log host-manager.2018-08-31.log manager.2018-08-31.log catalina.2018-08-31.log catalina.out manager.2018-08-30.log localhost.2018-08-31.log localhost_access_log.2018-08-30.txt
cattalina開頭的日記爲tomcat的綜合日記,記錄tomcat的服務相關信息,也記錄錯誤日記:
註釋:其中catalina.2018.xx-xx.log和catalina.out內容相同,前者是天天會生成一個新的日記:
host-manager和manager爲管理相關日記,其中host-manager爲虛擬主機的日記:
localhost和localhost_access爲虛擬主機相關日記,其中帶access字的是訪問日記,不帶access字的爲錯誤日記:訪問日記默認沒有,須要配置:
配置訪問日記: /usr/local/tomcat/conf/server.xml
<Host name="www.zrlog.cn" appBase="" unpackWARs= "true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="/data/wwwroot/zrlog.cn/" debug="0" reloadable="true" crossContext="true"/> #下面的內容是日記格式: <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="www.zrlog.cn_access" suffix=".log" pattern="%h %l %u %t "%r" %s %b" /> </Host>
核心參數:<Valve/> 說明: prefix定義訪問日誌的前綴; suffix定義日誌的後綴; pattern定義日誌格式。 新增長的虛擬主機默認並不會生成相似默認虛擬主機的那個localhost.日期.log日誌,錯誤日誌會統一記錄到catalina.out中。關於Tomcat日誌,你最須要關注catalina.out,當出現問題時,咱們應該第一想到去查看它。