配置tomcat监听80端口配置tomcat虚拟机tomcat日志
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置tomcat监听80端口配置tomcat虚拟机tomcat日志相关的知识,希望对你有一定的参考价值。
配置tomcat监听80端口
tomcat 监听的是8080端口,如果想要直接访问,不加8080端口(默认输入一个IP或者域名,访问80端口时是可以省略IP后端口号的)就需要配置tomcat监听80端口,tomcat是支持端口自定义的。
-
编辑tomcat 配置文件
[[email protected] ~]# vim /usr/local/tomcat/conf/server.xml
......
<Connector port="80" protocol="HTTP/1.1" // 将这里的8080改成80
connectionTimeout="20000"
redirectPort="8443" />
......
// 配置文件75行 -
重启tomcat 服务
[[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
// 关闭tomcat 服务[[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.
// 开启tomcat 服务// 因为tomcat 不支持restart,所以只能先关闭再启动
-
查看服务状态
[[email protected] ~]# netstat -lntp | grep java
tcp6 0 0 :::80 ::: LISTEN 2622/java
tcp6 0 0 127.0.0.1:8005 ::: LISTEN 2622/java
tcp6 0 0 :::8009 :::* LISTEN 2622/java
[[email protected] ~]# ps aux | grep tomcat
root 2622 1.2 4.1 803536 77772 pts/0 Sl 21:20 0:02 /usr/local/jdk1.8/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root 2673 0.0 0.0 112680 972 pts/0 S+ 21:23 0:00 grep --color=auto tomcat// 如果重新启动后tomcat 还没有占用80端口,说明80端口已经被占用。
// 使用命令 netstat -lntp | grep 80,查看哪个服务占用了80端口。
// 将占用80 端口的服务停止,再重启tomcat即可。
// 在实际线上的生产环境中,如果nginx占用80端口的话就不能直接停掉nginx,这时可以让nginx代理tomcat了,即80代理8080.
// tomcat启动后,8005端口启动需要一点时间,在8005端口没有启动之前访问tomcat页面会很慢。
配置tomcat 虚拟主机
tomcat和apache、nginx一样,都支持虚拟主机配置。每个虚拟主机配置文件就是一台服务器,支持一个IP下可以访问多个域名,每个域名代表一个网站。所以一台服务器上可以配置多个网站。
-
查看 tomcat 配置文件
[[email protected] ~]# vim /usr/local/tomcat/conf/server.xml
// 下面为一个虚拟主机的配置:
......
<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>
......
// name 定义域名。
// appBase 表示war包(应用)的目录在哪里
// unpackWARs 表示是否自动解压war这个包。
// autoDeploy 如果此项设置为true,表示tomcat服务处于运行状态,能够检测appbase下的文件,如果有新的web应用加入进来,会自动发布这个web应用 -
搭建了一个tomcat,想要使用tomcat去跑一个网站。首先应用不能是一个传统所谓的目录(Apache,nginx访问网站,首先需要指定一个目录,目录里存放着php文件或者是html的文件,然后去访问),tomcat需要提供一个WAR的包,就是一个压缩包,这个压缩包里面包含着运行这个网站的一些文件,包括配置,js代码,数据库相关的等等,都需要打包成war这种文件,而这个文件需要放置到 webapps 里面。
-
如果不定义appbase,不想要war存在,可以定义一个目录,目录里放网站的程序,这个相当于把war包解压到一个目录中。
-
增加虚拟主机:
[[email protected] ~]# vim /usr/local/tomcat/conf/server.xml
<Host name="www.123.cn" appBase=""
// 域名为www.123.cn,appbase后为空,就不会与后面的docBase相互干扰
unpackWARs= "true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/>
// 自定义站点路径,不使用自动安装war的方式
</Host>
// 如果出现404问题,可能是appbase或者docbase定义错误 -
docBase,这个参数用来定义网站的文件存放路径,如果不定义,默认是在appBase/ROOT下面,定义了docBase就以该目录为主了,其中appBase和docBase可以一样。在这一步操作过程中很多同学遇到过访问404的问题,其实就是docBase没有定义对。
-
appBase为应用存放目录(实际上是一个相对路径,相对于 /usr/local/tomcat/ 路径),通常是需要把war包直接放到该目录下面,它会自动解压成一个程序目录
-
测试准备
为了方便测试,下载一个zrlog(Java写的blog站点应用,轻量),zrlog实际就是一个war包。
先暂时将war包下载到src目录下:
[[email protected] ~]# cd /usr/local/src
[[email protected] src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.warappbase支持自动解压,所以直接将war包拷贝到/usr/local/tomcat/webapps/目录下:
[[email protected] src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
[[email protected] src]# ls /usr/local/tomcat/webapps/
docs examples host-manager manager ROOT zrlog-1.7.1-baaecb9-release zrlog-1.7.1-baaecb9-release.war// 将war包拷贝到/usr/local/tomcat/webapps/目录下之后,包会自动解压。(前提是tomcat正常启动。)
重命名war包的文件名:
[[email protected] webapps]# mv zrlog-1.7.1-baaecb9-release zrlog[[email protected] webapps]# ls
docs examples host-manager manager ROOT zrlog zrlog-1.7.1-baaecb9-release zrlog-1.7.1-baaecb9-release.war[[email protected] webapps]# rm zrlog-1.7.1-baaecb9-release.war
rm:是否删除普通文件 "zrlog-1.7.1-baaecb9-release.war"?y[[email protected] webapps]# ls
docs examples host-manager manager ROOT zrlog// 先将/usr/local/tomcat/webapps/目录下的zrlog-1.7.1-baaecb9-release 文件夹改名为zrlog,然后再将war包删除。
// 一但重命名或删除war包解压后的包的文件时,war包就会在解压出一个文件夹。
// 删除war包时,其解压出来的文件夹也同时会被删除。 - 测试
用浏览器访问192.168.159.131/zrlog
出现安装向导,这是一个配置数据库的过程。
-
创建一个zrlog用户
进入到数据库中,在数据库中创建一个zrlog数据库:
[[email protected] mysql]# mysql -uroot -p
Enter password:
......MySQL > create database zrlog;
Query OK, 1 row affected (0.00 sec)
// 创建一个zrlog数据库;MySQL > grant all on zrlog.* to ‘zrlog‘@127.0.0.1 identified by ‘159820‘;
Query OK, 0 rows affected (0.00 sec)
// 创建一个zrlog用户MySQL > quit
Bye// 使用zrlog用户登录
[[email protected] mysql]# mysql -u zrlog -h127.0.0.1 -p
Enter password:
......
// 检查数据库用户
MySQL > show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
| zrlog |
+--------------------+
3 rows in set (0.00 sec)- 使用 zrlog用户信息填写刚才在浏览器中打开的网页
- 使用 zrlog用户信息填写刚才在浏览器中打开的网页
-
之前想要访问zrlog需要在浏览器中指定IP和目录(192.168.8.132/zrlog),那么如何才能输入IP直接访问该目录呢?
查看虚拟主机docBase 的路径:
[[email protected] 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>
......//docBase 定义的目录为:/data/wwwroot/123.cn
将/usr/local/tomcat/webapps/zrlog 中的所有文件移动到 /data/wwwroot/123.cn/目录下
[[email protected] webapps]# mkdir /data/wwwroot/123.cn
[[email protected] webapps]# mv /usr/local/tomcat/webapps/* /data/wwwroot/123.cn/重启tomcat服务:
[[email protected] 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
[[email protected] 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.ping www.123.cn 看ip是否为虚拟机ip,如果是的话现在就可以访问了。
- 使用www.123.cn 访问:
需先修改本地hosts文件
tomcat日志
tomcat日志目录:
/usr/local/tomcat/logs
[[email protected] webapps]# ls /usr/local/tomcat/logs
catalina.2018-01-23.log host-manager.2018-01-23.log localhost_access_log.2018-01-23.txt
catalina.out localhost.2018-01-23.log manager.2018-01-23.log
// tomcat日志文件总的有4类
-
catalina开头的日志为Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。 // 关注错误日志就行。
-
catalina.2017-xx-xx.log和catalina.out内容相同,前者会每天生成一个新的日志。
-
host-manager和manager为管理相关的日志,其中host-manager为虚拟主机的管理日志。
-
localhost和localhost_access为虚拟主机相关日志,其中带access字样的日志为访问日志,不带access字样的为默认虚拟主机的错误日志。
-
访问日志默认不会生成,需要在server.xml中配置一下。
-
日志配置文件
[[email protected] webapps]# vim /usr/local/tomcat/conf/server.xml
......
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
......
// 配置文件中valve为日志文件配置// prefix定义访问日志的前缀;
// suffix定义日志的后缀;
// pattern定义日志格式。
// 新增加的虚拟主机默认并不会生成类似默认虚拟主机的那个localhost.日期.log日志,错误日志会统一记录到catalina.out中。关于Tomcat日志,你最需要关注catalina.out,当出现问题时,我们应该第一想到去查看它。
以上是关于配置tomcat监听80端口配置tomcat虚拟机tomcat日志的主要内容,如果未能解决你的问题,请参考以下文章
配置Tomcat监听80端口配置Tomcat的虚拟主机Tomcat的日志
配置Tomcat监听80端口配置Tomcat的虚拟主机日志配置
58.配置Tomcat监听80端口 配置Tomcat虚拟主机Tomcat日志