Tomcat詳解(下)
配置監聽端口
1、編輯配置文件
[[email protected] ~]# vim /usr/local/tomcat/conf/server.xml <Connector port="80" protocol="HTTP/1.1" ##改成80端口 connectionTimeout="20000" redirectPort="8443" />
2、重啟服務
[[email protected] ~]# /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 [[email protected] ~]# /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.
3、檢查效果
本地驗證:
[[email protected] ~]# netstat -lntp |grep 80 tcp6 0 0 :::80 :::* LISTEN 107670/java tcp6 0 0 127.0.0.1:8005 :::* LISTEN 107670/java tcp6 0 0 :::8009 :::* LISTEN 107670/java
如果被nginx占用,使用/etc/init.d/nginx stop命令關閉nginx。
遠端驗證:
配置虛擬主機
1、編輯配置文件
[[email protected] ~]# vim /usr/local/tomcat/conf/server.xml ...... <Host name="www.abc.com" appBase="" ##appBase和docBase二取一 unpackWARs= "true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="/data/wwwroot/abc.com/" debug="0" reloadable="true" crossContext="true"/> </Host> </Engine> </Service> </Server>
<Host>和</Host>之間的配置為虛擬主機配置部分,name定義域名;
appBase定義應用的目錄,Java的應用通常是一個jar的壓縮包,只需要將jar的壓縮包放到appBase目錄下面即可;
docBase,這個參數用來定義網站的文件存放路徑,如果不定義,默認是在appBase/ROOT下面,定義了docBase就以該目錄為主了,其中appBase和docBase可以一樣,訪問404的問題,其實就是docBase沒有定義準確;
appBase為應用存放目錄,通常是需要把war包直接放到該目錄下面,它會自動解壓成一個程序目錄。
2、下載與解壓zrlog
[[email protected] ~]# cd /usr/local/src [[email protected] src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war [[email protected] src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/ [[email protected] src]# cd /usr/local/tomcat/webapps/ [[email protected] webapps]# ls ##自動解壓 docs examples host-manager manager ROOT zrlog-1.7.1-baaecb9-release zrlog-1.7.1-baaecb9-release.war [[email protected] webapps]# mv zrlog-1.7.1-baaecb9-release zrlog
3、打開80端口
[[email protected] webapps]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
4、遠程訪問
5、配置數據庫
1)檢查mysql狀態
[[email protected] mysql]# ps aux|grep mysql root 109814 0.0 0.0 11760 1588 pts/0 S 22:43 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/plinuxos.pid mysql 109922 2.4 13.4 973052 449528 pts/0 Sl 22:43 0:00 /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/plinuxos.err --pid-file=/data/mysql/plinuxos.pid root 109971 0.0 0.0 112648 968 pts/0 S+ 22:44 0:00 grep --color=auto mysql
2)創建數據庫
[[email protected] mysql]# /usr/local/mysql/bin/mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 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> create database zrlog; Query OK, 1 row affected (0.00 sec)
3)用戶授權
mysql> grant all on zrlog.* to ‘zrlog‘@127.0.0.1 identified by ‘123456‘; Query OK, 0 rows affected (0.01 sec) mysql> exit; Bye
4)檢查數據庫
[[email protected] mysql]# /usr/local/mysql/bin/mysql -uzrlog -h127.0.0.1 -p123456 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 2 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)
6、配置zrlog
7、使用域名訪問zrlog
[[email protected] mysql]# mkdir /data/wwwroot/abc.com [[email protected] mysql]# mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/abc.com/ [[email protected] mysql]# /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 [[email protected] mysql]# /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.
8、測試效果
在本端HOSTS文件內添加解析。
Tomcat日誌
1、查看tomcat日誌目錄
[[email protected] mysql]# ls /usr/local/tomcat/logs catalina.2017-08-29.log catalina.out host-manager.2017-08-29.log localhost.2017-08-29.log localhost_access_log.2017-08-29.txt manager.2017-08-29.log
▎日誌分為四大類:
1)其中catalina開頭的日誌為Tomcat的綜合日誌,它記錄Tomcat服務相關信息,也會記錄錯誤日誌。
2)其中catalina.2017-xx-xx.log和catalina.out內容相同,帶日期的每天生成一個新的日誌。
3)host-manager和manager為管理相關的日誌,其中host-manager為虛擬主機的管理日誌。
4)localhost和localhost_access為虛擬主機相關日誌,其中帶access字樣的日誌為訪問日誌,不帶access字樣的為默認虛擬主機的錯誤日誌。
2、訪問日誌默認不會生成,需要在server.xml中配置。
具體方法是在對應虛擬主機的<Host></Host>裏面加入下面的配置:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="abc.com_access" suffix=".log"
pattern="%h %l %u %t "%r" %s %b" />
3、prefix定義訪問日誌的前綴,suffix定義日誌的後綴,pattern定義日誌格式。新增加的虛擬主機默認並不會生成類似默認虛擬主機的那個localhost.日期.log日誌,錯誤日誌會統一記錄到catalina.out中。關於Tomcat日誌,你最需要關註catalina.out,當出現問題時,我們首先應該想到去查看它。
本文出自 “Gorilla City” 博客,請務必保留此出處http://juispan.blog.51cto.com/943137/1960966
Tomcat詳解(下)