五十九、配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志
一、配置Tomcat监听80端口
# vim /usr/local/tomcat/conf/server.xml
搜索8080,找到这里
connectionTimeout="20000"
redirectPort="8443" />
然后修改:
Connector port="8080" protocol="HTTP/1.1"修改为Connector port="80" protocol="HTTP/1.1"
# /usr/local/tomcat/bin/shutdown.sh
# /usr/local/tomcat/bin/startup.sh
此时80端口被Nginx占用了,所以只能停掉Nginx。
# /etc/init.d/nginx stop
# /usr/local/tomcat/bin/shutdown.sh
# /usr/local/tomcat/bin/startup.sh
# netstat -lntp |grep 80
tcp6 0 0 :::80 :::* LISTEN 2241/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 2241/java
tcp6 0 0 :::8009 :::* LISTEN 2241/java
8005端口若没有启动起来,浏览器访问这个页面就会很慢。
二、配置Tomcat虚拟主机
# vim /usr/local/tomcat/conf/server.xml
文件的格式是xml的。
其中
appBase定义应用的目录,Java的应用通常是一个war的压缩包,只需要将war的压缩包放到appBase目录下面即可。war包里包含着运行这个网站的文件,配置,代码。
appBase:放war包的。
docBase:放网站程序的。
unpackWARs:是否自动解压。
下面这一段就属于虚拟主机,从前面的Host到后面的Host。
unpackWARs="true" autoDeploy="true">
这段是配置日志的:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
>
增加虚拟主机,编辑server.xml,在下面增加如下内容:
unpackWARs= "true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
appBase和docBase同时存在时,可以其中一个写空。
docBase,这个参数用来定义网站的文件存放路径,如果不定义,默认是在appBase/ROOT下面,定义了docBase就以该目录为主了,其中appBase和docBase可以一样。在这一步操作过程中很多人遇到过访问404的问题,其实就是docBase没有定义对。
appBase为应用存放目录,通常是需要把war包直接放到该目录下面,它会自动解压成一个程序目录
下面我们通过部署一个java的应用来体会appBase和docBase目录的作用
下载zrlog:# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
[root@MRX src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
[root@MRX src]# cd /usr/local/tomcat/webapps/
[root@MRX webapps]# mv zrlog-1.7.1-baaecb9-release zrlog 改名为zrlog
浏览器访问 192.168.93.130/zrlog可以看到zrlog的安装向导
# ps aux |grep mysql //到mysql创建一个数据库,检查有没有启动
# mysql -uroot -p12345
mysql> create database zrlog; 创建一个叫zrlog的数据库。
Query OK, 1 row affected (0.11 sec)
mysql> grant all on zrlog.* to "zrlog"@127.0.0.1 identified 'zrlog'; 创建用户
Query OK, 0 rows affected (0.40 sec)
mysql> quit
# mysql -uzrlog -pzrlog -h127.0.0.1
mysql> show databases; 检查一下
+--------------------------+
| Database |
+--------------------------+
| information_schema |
| test |
| zrlog |
+--------------------------+
3 rows in set (0.31 sec) 这里能看到zrlog就是没问题
再回到安装向导填入zrlog数据库的信息即可,邮箱自定义。
[root@MRX webapps]# mkdir /data/wwwroot/123.cn
[root@MRX webapps]# mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/
# /usr/local/tomcat/bin/startup.sh //启动Tomcat
# /usr/local/tomcat/bin/shutdown.sh //停止Tomcat,不支持restart。
# netstat -lntp |grep java 确认8005端口启动了
然后到Windows的hosts文件里将www.123.cn加进去,在192.168.93.130和127.0.0.1都要加。
再到浏览器搜索www.123.cn就可以看到域名显示的是www.123.cn
自定义的appBase目录下也应该创建一个ROOT目录,然后把静态文件放在该目录下。
三、Tomcat日志
# ls /usr/local/tomcat/logs
catalina.2018-05-15.log catalina.out localhost.2018-05-15.log manager.2018-05-15.log
catalina.2018-05-16.log host-manager.2018-05-15.log localhost_access_log.2018-05-15.txt
其中catalina开头的日志为Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。
其中catalina.2017-xx-xx.log和catalina.out内容相同,前者会每天生成一个新的日志。
host-manager和manager为管理相关的日志,其中host-manager为虚拟主机的管理日志。
localhost和localhost_access为虚拟主机相关日志,其中带access字样的日志为访问日志,不带access字样的为默认虚拟主机的错误日志。
访问日志默认不会生成,需要在server.xml中配置一下:
具体方法:在对应虚拟主机的
prefix="123.cn_access" suffix=".log"
pattern="%h %l %u %t "%r" %s %b" />
prefix定义访问日志的前缀,suffix定义日志的后缀,pattern定义日志格式。新增加的虚拟主机默认并不会生成类似默认虚拟主机的那个localhost.日期.log日志,错误日志会统一记录到catalina.out中。关于Tomcat日志,你最需要关注catalina.out,当出现问题时,我们应该第一想到去查看它。
扩展
邱李的tomcat文档 https://www.linuser.com/forum.php?mod=forumdisplay&fid=37
JAR、WAR包区别 http://blog.csdn.net/lishehe/article/details/41607725
tomcat常见配置汇总 http://blog.sina.com.cn/s/blog_4ab26bdd0100gwpk.html
resin安装 1 tomcat 单机多实例
2 tomcat的jvm设置和连接数设置
3 jmx监控tomcat
4 jvm性能调优监控工具5 gvm gc 相关