16.4 配置 Tomcat 监听 80 端口
编辑 Tomcat 配置文件:
- [root@centos-01linux ~]# vim /usr/local/tomcat/conf/server.xml
- <Connector port="80" protocol="HTTP/1.1"
- connectionTimeout="20000"
- redirectPort="8443" />
说明: 在配置文件中搜索 8080 找到如上所示参数, 将默认的 8080 端口改为 80 端口, 更改完成后重启服务
- [root@centos-01linux ~]# /usr/local/tomcat/bin/shutdown.sh
- [root@centos-01linux ~]# /usr/local/tomcat/bin/startup.sh
查看服务状态:
- [root@centos-01linux ~]# ps aux |grep tomcat
- [root@centos-01linux ~]# netstat -lntp |grep java
- tcp6 0 0 127.0.0.1:8005 ::: LISTEN 2716/java
- tcp6 0 0 :::8009 ::: LISTEN 2716/java
- [root@centos-01linux ~]# netstat -lntp |grep 80
- tcp 0 0 0.0.0.0:80 0.0.0.0: LISTEN 1825/nginx: master
- tcp6 0 0 127.0.0.1:8005 ::: LISTEN 2716/java
- tcp6 0 0 :::8009 :::* LISTEN 2716/java
说明: 此时 Tomcat 服务正常运行, 但是没有监听端口, 监听 80 端口的是 nginx 服务如果想让 Tomcat 监听 80 端口, 需要关闭 nginx 服务, 然后重启 Tomcat 服务
- [root@centos-01linux ~]# systemctl stop nginx.service
- [root@centos-01linux ~]# /usr/local/tomcat/bin/shutdown.sh
- [root@centos-01linux ~]# /usr/local/tomcat/bin/startup.sh
检测服务状态:
- [root@centos-01linux ~]# netstat -lntp |grep java
- tcp6 0 0 :::80 ::: LISTEN 2815/java
- tcp6 0 0 :::8009 ::: LISTEN 2815/java
说明: 此时使用浏览器访问主机 IP 可以直接进入 Tomcat 主页
16.5 配置 Tomcat 的虚拟主机(上)
- [root@centos-01linux ~]# vim /usr/local/tomcat/conf/server.xml
- <Host name="www.123.cn" appBase=""
- #appbase 是定义 Tomcat 的应用 (war 文件) 存放位置
- # 如果未使用该参数定义其应用, 可以使用 docbase 来指定应用存放目录
- # 当这两个参数同时存在时, 需要将其中一个写为空
- unpackWARs= "true" autoDeploy="true"
- xmlValidation="false" xmlNamespaceAware="false">
- <Context path=""docBase="/data/wwwroot/123.cn/"debug="0"reloadable="true"crossContext="true"/>
- </Host>
说明: 在配置文件中搜索 Host 找到虚拟主机配置参数, 在配置文件自带 (默认) 虚拟主机后面增加如上参数(增加一个虚拟主机)
16.6 配置 Tomcat 的虚拟主机(中)
本节使用 Tomcat 部署一个 Java 应用
下载 zrlog
- [root@centos-01linux src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
- [root@centos-01linux src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
- # 因为 appbase 支持自动解压 war 包, 所以将 zrlog 包放到 appbase 的根目录下
- [root@centos-01linux src]# ls /usr/local/tomcat/webapps/
- docs host-manager ROOT zrlog-1.7.1-baaecb9-release.war
- examples manager zrlog-1.7.1-baaecb9-release
- # 拷贝完成后, zrlog 包会自动被解压, 解压完成后就可以直接访问该文件
重命名:
- [root@centos-01linux src]# cd /usr/local/tomcat/webapps/
- [root@centos-01linux webapps]# mv zrlog-1.7.1-baaecb9-release zrlog
注: 只要 war 包在 appbase 的目录下, 更改相应文件名后就会自动被解压再次生成相应的文件, 所以为了方便起见, 当 war 下载完成后进行移动的同时对其重命名, 如下:
[root@centos-01linux webapps]# cp /usr/local/src/zrlog-1.7.1-baaecb9-release.war ./zrlog.war
安装 zrlog
在浏览器输入 IP:192.168.8.132:8080/zrlog/instll 进入安装向导:
mark
创建数据库
- [root@centos-01linux ~]# mysql -uroot -p123456
- Welcome to the MySQL monitor.
- mysql> create database zrlog;
- Query OK, 1 row affected (0.00 sec)
- mysql> grant all on zrlog.* to zrlog@127.0.0.1 identified by 123456;
- Query OK, 0 rows affected (0.00 sec)
连接数据库
mark
创建管理员密码
mark
创建完成后点击下一步: mark
16.7 配置 Tomcat 的虚拟主机(下)
之前想要访问 zrlog 需要在浏览器中指定 IP 和目录(192.168.8.132/zrlog), 那么如何才能输入 IP 直接访问该目录呢? 配置如下:
- [root@centos-01linux ~]# vim /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"/>
- </Host>
- [root@centos-01linux ~]# /usr/local/tomcat/bin/shutdown.sh
- [root@centos-01linux ~]# /usr/local/tomcat/bin/startup.sh
然后创建 docbase 指定的目录, 并将 zrlog 的 war 文件移动到该目录下:
- [root@centos-01linux ~]# mkdir /data/wwwroot/zrlog.cn
- [root@centos-01linux ~]# mv /usr/local/tomcat/webapps/zrlog/*/data/wwwroot/zrlog.cn/
完成以上操作后, 在 Windows 中绑定 hosts
mark
16.8 Tomcat 日志
- [root@centos-01linux ~]# ls /usr/local/tomcat/logs/
- catalina.2017-08-29.log localhost.2017-08-29.log
- catalina.out localhost_access_log.2017-08-29.txt
- host-manager.2017-08-29.log manager.2017-08-29.log
说明:
catalina 开头的日志为 Tomcat 的综合日志, 它记录 Tomcat 服务相关信息, 也会记录错误日志
catalina.2017-xx-xx.log 和 catalina.out 内容相同, 前者会每天生成一个新的日志
host-manager 和 manager 为管理相关的日志, 其中 host-manager 为虚拟主机的管理日志
localhost 和 localhost_access 为虚拟主机相关日志, 其中带 access 字样的日志为访问日志, 不带 access 字样的为默认虚拟主机的错误日志
访问日志默认不会生成, 需要在 server.xml 中配置一下
配置访问日志
具体方法是在对应虚拟主机的 < Host></Host > 里面加入下面的配置(以域名 www.zrlog.cn 为例):
- <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, 当出现问题时, 我们应该第一想到去查看它
来源: http://www.bubuko.com/infodetail-2544824.html