配置Tomcat監聽80端口
編輯Tomcat的配置文件
[root@shuai-01 src]# vim /usr/local/tomcat/conf/server.xml
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
保存退出
重啓服務
[root@shuai-01 src]# /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@shuai-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.
查看端口80:
netstat -lntp |grep java
tcp6 0 0 :::8009 :::* LISTEN 4913/java
[root@shuai-01 src]# netstat -lntp |grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2008/nginx: master
tcp6 0 0 :::8009 :::* LISTEN 4913/java
這時,雖然有80端口,但是使用80端口的是Nginx服務,所以,要先停掉Nginx服務,在重新啓動Tomcat
[root@shuai-01 src]# /etc/init.d/nginx stop
Stopping nginx (via systemctl): [ 確定 ]
[root@shuai-01 src]# netstat -lntp |grep 80
tcp6 0 0 :::80 :::* LISTEN 5012/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 5012/java
tcp6 0 0 :::8009 :::* LISTEN 5012/java
這時,瀏覽器訪問就不用輸入端口號了。
配置Tomcat的虛擬主機(上)
編輯配置文件
[root@shuai-01 src]# vim /usr/local/tomcat/conf/server.xml
這是Tomcat的虛擬主機配置(這個是定義APPbase定義Tomcat的應用(war文件的存放位置))
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="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 "%r" %s %b" />
</Host>
war文件是一個網頁的打包文件,而還有一種是通過docbase來指定應用的存放目錄(跟Apache,Nginx差不多)
<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來指定應用存放目錄
#docbase ,appbase不能同時存在,其中一個寫爲空
在配置文件中加上虛擬主機,寫的是docbase配置
<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>
保存退出
配置Tomcat的虛擬主機
通過使用Tomcat來部署一個Java應用(zrlog)
下載zrlog文件,在src目錄下
[root@shuai-01 src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
先使用APPbase部署zrlog
下載的就是一個war包,而且Tomcat自己定義了APPbase=“webapps”
把zrlog包拷貝到/usr/local/tomcat/webapps/目錄下
[root@shuai-01 src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
[root@shuai-01 src]# ls /usr/local/tomcat/webapps/
docs ROOT
examples zrlog-1.7.1-baaecb9-release
host-manager zrlog-1.7.1-baaecb9-release.war
manager
給zrlog-1.7.1-baaecb9-release目錄改一個名字
[root@shuai-01 webapps]# mv zrlog-1.7.1-baaecb9-release zrlog
[root@shuai-01 webapps]# ls
docs host-manager ROOT zrlog-1.7.1-baaecb9-release
examples manager zrlog zrlog-1.7.1-baaecb9-release.war
用瀏覽器訪問:
會出先安裝嚮導,實際上就是去配置數據庫
在linux端,檢查一下MySQL啓動沒有
[root@shuai-01 webapps]# ps aux |grep mysql
root 2286 0.0 0.1 115392 1488 ? S 13:11 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/shuai-01.pid
mysql 2646 0.0 45.5 1308992 455108 ? Sl 13:11 0:18 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/shuai-01.err --pid-file=/data/mysql/shuai-01.pid --socket=/tmp/mysql.sock
root 5256 0.0 0.0 112684 976 pts/0 S+ 22:13 0:00 grep --color=auto mysql
登錄數據庫:
[root@shuai-01 webapps]# mysql -uroot -p111111
創建一個數據庫:
mysql> create database zrlog;
Query OK, 1 row affected (0.36 sec)
創建一個用戶:
mysql> grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by '111111';
Query OK, 0 rows affected (0.24 sec)
將創建的用戶及密碼在瀏覽器上填上
下一步
安裝完成
配置Tomcat的虛擬主機(下)
通過docbase使用zrlog
打開配置文件
[root@shuai-01 webapps]# vim /usr/local/tomcat/conf/server.xml
<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>
定義的域名是www.123.cn
docbase=”/data/wwwroot/123.cn/”
創建一個文件夾(/data/wwwroot/123.cn)
[root@shuai-01 webapps]# mkdir /data/wwwroot/123.cn
將zrlog文件移到目錄下
[root@shuai-01 webapps]# mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/
綁定Windows的hosts
重啓Tomcat服務
[root@shuai-01 webapps]# /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
^R
[root@shuai-01 webapps]# /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.
Tomcat默認訪問的是APPbase下的ROOT,如果自己寫一個網站,一定要將他的靜態文件放到ROOT裏,不然可能會404
[root@shuai-01 webapps]# ls
docs logs zrlog
examples manager zrlog-1.7.1-baaecb9-release
host-manager ROOT zrlog-1.7.1-baaecb9-release.war
[root@shuai-01 webapps]# ls ROOT
asf-logo-wide.svg bg-nav.png RELEASE-NOTES.txt tomcat-power.gif
bg-button.png bg-upper.png tomcat.css tomcat.svg
bg-middle.png favicon.ico tomcat.gif WEB-INF
bg-nav-item.png index.jsp tomcat.png
Tomcat沒有向Nginx,Apache一樣,指定MySQL的一些東西,就能和mysql通信。自身帶了MySQL的驅動
Tomcat的日誌
[root@shuai-01 tomcat]# ls logs
catalina.2018-01-28.log localhost.2018-01-28.log
catalina.out localhost_access_log.2018-01-28.txt
host-manager.2018-01-28.log manager.2018-01-28.log
- catalina開頭的日誌爲Tomcat的綜合日誌,它記錄Tomcat服務相關信息,也會記錄錯誤日誌。
- catalina.2017-xx-xx.log和catalina.out內容相同,前者會每天生成一個新的日誌。
- host-manager和manager爲管理相關的日誌,其中host-manager爲虛擬主機的管理日誌。
- localhost和localhost_access爲虛擬主機相關日誌,其中帶access字樣的日誌爲訪問日誌,不帶access字樣的爲默認虛擬主機的錯誤日誌。
- 訪問日誌默認不會生成,需要在server.xml中配置一下
配置訪問日誌
prefix定義訪問日誌的前綴;
suffix定義日誌的後綴;
pattern定義日誌格式。
新增加的虛擬主機默認並不會生成類似默認虛擬主機的那個localhost.日期.log日誌,錯誤日誌會統一記錄到catalina.out中。關於Tomcat日誌,你最需要關注catalina.out,當出現問題時,我們應該第一想到去查看它