配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志
6月27日任务
16.4 配置Tomcat监听80端口
16.5/16.6/16.7 配置Tomcat虚拟主机
16.8 Tomcat日志
扩展
邱李的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安装 http://fangniuwa.blog.51cto.com/10209030/1763488/
1 tomcat 单机多实例
http://www.ttlsa.com/tomcat/config-multi-tomcat-instance/
2 tomcat的jvm设置和连接数设置
http://www.cnblogs.com/bluestorm/archive/2013/04/23/3037392.html
3 jmx监控tomcat
http://blog.csdn.net/l1028386804/article/details/51547408
4 jvm性能调优监控工具jps/jstack/jmap/jhat/jstat
http://blog.csdn.net/wisgood/article/details/25343845
http://guafei.iteye.com/blog/1815222
5 gvm gc 相关
http://www.cnblogs.com/Mandylover/p/5208055.html
http://blog.csdn.net/yohoph/article/details/42041729
tomcat内存溢出
https://blog.csdn.net/ye1992/article/details/9344807
16.4 配置Tomcat监听80端口
Tomcat也是支持自定义端口的,也就是说可以把8080改为80端口。
编辑配置文件/usr/local/tomcat/conf/server.xml
[root@jimmylinux-001 src]# vim /usr/local/tomcat/conf/server.xml 把Connector port="8080" protocol="HTTP/1.1"修改为Connector port="80" protocol="HTTP/1.1" 也就是把8080端口改为80
修改完配置文件后需要重启Tomcat服务,因为Tomcat不支持start或restart,所以需要先shutdown,然后在startup。
[root@jimmylinux-001 src]# /usr/local/tomcat/bin/shutdown.sh 先shutdown服务 [root@jimmylinux-001 src]# /usr/local/tomcat/bin/startup.sh 再startup服务
当Nginx监听了80端口时候,Tomcat还想监听80端口就不行了,因为端口已经被Nginx占用。
如果想让Tomcat能够监听80端口,需要把Nginx服务停掉,再重启Tomcat服务就可以了。
这个时候在浏览器直接输入IP地址就可以访问Tomcat页面了
16.5/16.6/16.7 配置Tomcat虚拟主机
无论是Apache还是Nginx他们都属于web server,都支持虚拟主机配置文件,什么意思呢,也就是说一台服务器上或者一个web server 可以支持一个IP下面可以访问多个域名,每个域名代表一个网站,所以可以配置多个网站,每一个网站的配置文件都是一个虚拟主机,Tomcat也是同样支持的。
编辑配置文件/usr/local/tomcat/conf/server.xml
[root@jimmylinux-001 src]# vim /usr/local/tomcat/conf/server.xml
其中<Host>和</Host>之间的配置为虚拟主机配置部分,name定义域名,appBase定义应用的目录,Java的应用通常是一个war的压缩包,你只需要将war的压缩包放到appBase目录下面即可。刚刚阿铭访问的Tomcat默认页其实就是在appBase目录下面,不过是在它子目录ROOT里。
增加虚拟主机,编辑server.xml,在</Host>下面增加如下内容
<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,这个参数用来定义网站的文件存放路径,如果不定义,默认是在appBase/ROOT下面,定义了docBase就以该目录为主了,其中appBase和docBase可以一样。在这一步操作过程中很多同学遇到过访问404的问题,其实就是docBase没有定义对。
appBase为应用存放目录,通常是需要把war包直接放到该目录下面,它会自动解压成一个程序目录
下面我们通过部署一个java的应用来体会appBase和docBase目录的作用
下载zrlog
[root@jimmylinux-001 src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
拷贝zrlog包到指定的目录,同时已经自动解压war包。(如果ls没有自动解压,可以把Tomcat服务shutdown在startup即可)
为了不影响测试,我们把war包改名成zrlog目录。
[root@jimmylinux-001 webapps]# mv zrlog-1.7.1-baaecb9-release zrlog
使用浏览器访问博客,出现安装向导。
检查mysql是否有启动,如果有启动需要登录mysql,创建数据库和用户。
检查创建的用户是否成功,能够正常登录并显示出zrlog数据库就说明没有问题。
[root@jimmylinux-001 webapps]# mysql -uzrlog -h127.0.0.1 -pjimmy1
这个时候再去浏览器博客安装向导填写对应的信息,点击下一步。
安装向导完成后点击查看
也可以通过管理界面进去发帖
如果不想在IP地址后面加一个目录,而是直接以域名形式访问,那么也是可以做到的。
首先,需要把webapps目录下面所有内容拷贝到/data/wwwroot/123.cn/下面。
[root@jimmylinux-001 webapps]# mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/
其次,把Windows里的hosts文件添加www.123.cn,然后在浏览器输入www.123.cn访问即可。
server.xml配置文件中的appbase和docbase区别
appbase就是放war包文件的
docbase是直接放网站程序的
appbase目录下面其实还有一个ROOT目录,里面主要放一些网站的静态图片文件。
16.8 Tomcat日志
![](https://images2018.cnblogs.com/blog/1344023/201806/1344023-20180627234958977-783556293.png)
其中catalina开头的日志为Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。
其中catalina.2017-xx-xx.log和catalina.out内容相同,前者会每天生成一个新的日志。
host-manager和manager为管理相关的日志,其中host-manager为虚拟主机的管理日志。
localhost和localhost_access为虚拟主机相关日志,其中带access字样的日志为访问日志,不带access字样的为默认虚拟主机的错误日志。
访问日志默认不会生成,需要在server.xml中配置一下。
具体方法是在对应虚拟主机的<Host></Host>里面加入下面的配置(假如域名为123.cn):
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="123.cn_access" suffix=".log"
pattern="%h %l %u %t "%r" %s %b" />
prefix定义访问日志的前缀,suffix定义日志的后缀,pattern定义日志格式。新增加的虚拟主机默认并不会生成类似默认虚拟主机的那个localhost.日期.log日志,错误日志会统一记录到catalina.out中。关于Tomcat日志,你最需要关注catalina.out,当出现问题时,我们应该第一想到去查看它。