1. 程式人生 > >Tomcat詳解(下)

Tomcat詳解(下)

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 &quot;%r&quot; %s %b" />

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


本文出自 “Gorilla City” 博客,請務必保留此出處http://juispan.blog.51cto.com/943137/1960966

Tomcat詳解(下)