配置Tomcat监听80端口
1.修改tomcat配置文件:/usr/local/tomcat/conf/server.xml
端口从8080修改为80
查看80端口有没有被占用
[root@yolks2 ~]# netstat -lntp |grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 929/nginx: master p
一般的解决方法是让nginx代理tomcat了。即80代理8080,此处我们因为是虚拟机器,所以直接暂停掉nginx然后重启tomcat即可;
停止nginx
/etc/init.d/nginx stop
先停止再启动
/usr/local/tomcat/bin/shutdown.sh #停止
/usr/local/tomcat/bin/startup.sh #启动
查看80端口
[root@yolks2 tomcat]# netstat -lntp |grep 80
tcp6 0 0 :::80 :::* LISTEN 1682/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 1682/java
tcp6 0 0 :::8009 :::* LISTEN 1682/java
配置Tomcat虚拟主机
1.修改配置文件:/usr/local/tomcat/conf/server.xml
原有的默认标签选项:host标签就表示一个虚拟主机
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
所代表的含义
- name : 你的主机名,根据需要任意命名
- appBase : 顾名思义,就是程序基地的意思,也是是存放应用程序的路径,类似于tomcat默认的webapps,当自定义host标签时,这个值是可以自定义的绝对路径
- autoDeploy : 是否设置程序自动装载。表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用
- unpackWARs : 是否自动解压war包。true值时,appdase下打成war包的项目会在tomcat启动时自动解压
新建host标签加入以下代码:appBase可以不指定,按照下面代码添加个docBase也可以
<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>
实例教程:方便理解appBase和docBase
关键词 | 含义 |
---|---|
docBase | 这个参数用来定义网站的文件存放路径 |
appBase | 为应用存放目录,通常是需要把war包直接放到该目录下面,它会自动解压成一个程序目录 |
docBase如果不定义,默认是在appBase/ROOT下面,定义了docBase就以该目录为主了,其中appBase和docBase可以一样。在这一步操作过程中很多同学遇到过访问404的问题,其实就是docBase没有定义对。
下面我们开始做实验搭建一个Java小博客:zrlog
1.下载资源包到/usr/local/src/目录下
wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
2.因为tomcat支持自动解压war包,所以我们将下载的war包复制到默认的appbase目录:/usr/local/tomcat/webapps/
cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
3.稍等ls命令查看目录war包是否被解压:神奇的海螺,多了一个解压出来的目录
ls /usr/local/tomcat/webapps/
docs examples host-manager manager ROOT zrlog-1.7.1-baaecb9-release zrlog-1.7.1-baaecb9-release.war
神奇的海螺说原因是有这个配置 →_→:unpackWARs= "true"
4.修改解压出来的目录名称并且删除源war文件
mv zrlog-1.7.1-baaecb9-release zrlog #修改自动解压出来的目录名称
rm zrlog-1.7.1-baaecb9-release.war #删除源文件
5.Windows机器浏览器输入Linux机器的ip:http://192.168.248.129/zrlog/ 目录即可跳转:
如果没有跳转,添加80端口的防火墙规则
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
再次尝试提示如下图所示界面
6.进入linux上的mysql数据库:
1)创建数据库名为zrlog的数据库
mysql> create database zrlog;
Query OK, 1 row affected (0.00 sec)
2)创建zrlog并且赋予相应权限
grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by 'yolkslinux';
7.回到Windows浏览器端填写对应信息,点击下一步
8.填写完信息继续点击下一步
9.提示安装完成,然后点击查看信息
查看信息如下界面
10.点击管理,可以去后台发文章测试
编辑完文章后新打开页面去查看,如下图所示,已经正常展示:
11.安全问题
通过 http://192.168.248.129/zrlog/ 访问会暴露zrlog目录,不太安全;
1)查看tomcat的配置文件:
2)按照docBase的目录配置,我们创建对应的目录
mkdir /data/wwwroot/123.cn
3)移动/usr/local/tomcat/webapps/zrlog/* 目录下的所有文件到创建的/data/wwwroot/123.cn/ 目录下去
mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/
4)修改Windows机器的hosts
192.168.248.129 www.123.cn
5)Windows机器进行ping 123.cn
6)重启linux端tomcat使配置重新生效
/usr/local/tomcat/bin/shutdown.sh #停止
/usr/local/tomcat/bin/startup.sh #启动
7)Windows浏览器使用 www.123.cn 访问
Tomcat日志
查看目录:/usr/local/tomcat/logs/
[root@yolks2 logs]# ls
catalina.2018-08-30.log host-manager.2018-08-30.log localhost.2018-08-31.log manager.2018-08-30.log zrlog.2018-08-30.log
catalina.2018-08-31.log host-manager.2018-08-31.log localhost_access_log.2018-08-30.txt manager.2018-08-31.log
catalina.out localhost.2018-08-30.log localhost_access_log.2018-08-31.txt zrlog
日志类型及含义
名称 | 含义 |
---|---|
catalina开头 | Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。其中catalina.2017-xx-xx.log和catalina.out内容相同,前者会每天生成一个新的日志。 |
host-manager和manager开头 | 管理相关的日志,其中host-manager为虚拟主机的管理日志。 |
localhost和localhost_access开头 | 虚拟主机相关日志,其中带access字样的日志为访问日志,不带access字样的为默认虚拟主机的错误日志。 |
访问日志需要单独配置,如下方红色标记的:
添加时套在需要配置的host标签里即可,添加配置如下:
<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 : 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安装 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