Tomcat安装与配置:tomcat介绍,安装JDK,安装tomcat,监听80端口,配置虚拟主机,配置日志

tomcat介绍


安装JDK
jdk版本1.6,1.7,1.8,平时所说的678,实际对应的是1.6,1.7,1.8
官网下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,下载jdk8最新版,传到到/usr/local/src/目录下,此地址不支持wget和curl下载。

安装:
tar zxvf jdk-8u171-linux-x64.tar.gz
mv jdk1.8.0_171 /usr/local/jdk1.8

配置环境变量
vim /etc/profile //最后面增加
JAVA_HOME=/usr/local/jdk1.8/
JAVA_BIN=/usr/local/jdk1.8/bin
JRE_HOME=/usr/local/jdk1.8/jre
CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar
PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin 也可以加在之前PATH配置的后面

重载环境变量
source /etc/profile

测试配置是否正确
java -version
[root@aliyun ~]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)


安装tomcat

下载并解压:
cd /usr/local/src
wget http://apache.fayea.com/tomcat/tomcat-9/v9.0.8/bin/apache-tomcat-9.0.8.tar.gz
tar zxvf apache-tomcat-9.0.8.tar.gz
移动到安装路径并改名
mv apache-tomcat-8.5.20 /usr/local/tomcat

使用启动脚本启动
/usr/local/tomcat/bin/startup.sh

查看进程,是否启动成功
ps aux|grep tomcat

查看端口是否监听
[root@aliyun ~]# netstat -lnp |grep java
tcp        0      0 127.0.0.1: 8005           0.0.0.0:*               LISTEN      4632/ java          
tcp        0      0 0.0.0.0: 8009             0.0.0.0:*               LISTEN      4632/ java           
tcp        0      0 0.0.0.0: 8080             0.0.0.0:*               LISTEN      4632/ java           
[root@aliyun local]#


8080:提供web服务的端口
8005:管理端口
8009:第三方调用端口,如:httpd和Tomcat结合时会用到


配置Tomcat监听80端口

编辑配置文件:
vim /usr/local/tomcat/conf/server.xml

修改内容:
将Connector port=" 8080" protocol="HTTP/1.1"
修改为Connector port=" 80" protocol="HTTP/1.1"

重启tomcat:
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

查看进程:
ps aux | grep tomcat 或 java

查看端口是否监听:
netstat -lnpt |grep java

在浏览器里测试访问

注意:
        由于nginx或apache也监听的是80端口,此时端口冲突,即便tomcat的进程进程已经启动,但是80端口并没有监听成功,需要把nginx或apache关掉,重启tomcat。由于tomcat并不支持restart命令,故需要先用shutdown.sh脚本关闭,再用startup.sh脚本启动。
       另:8005端口启动比较慢,在8005启动期间,有可能会遇到网站打不开的情况,等待一会刷新即可,8005端口启动后,访问会非常快,在8005启动的过程中具体都做了哪些操作,可以在日志中查看。




配置Tomcat虚拟主机

编辑配置文件:
vim /usr/local/tomcat/conf/server.xml

修改内容:
搜索Host,在 <Host></Host> 之间的内容就是虚拟主机的配置内容,跟apache和nginx的配置有些区别,配置文件并非.conf文件而是.xml文件,且host部分的配置分 appbase docbase 两种。

name:定义域名                         unpackWARs="true"  自动解压WAR包文件,true为是false为否

appBase:定义应用的目录,Java应用通常是一个war的压缩包,只需要将war的压缩包放到appBase目录下面即可。Tomcat默认页就是在appBase目录(webapps)的子目录ROOT里。

docbase:定义网站程序(代码)或文件所在的目录。java运行时会将war包解压成程序目录,所以就可以直接用docBase定义代码所在的目录路径来访问。

appBase和docBase的路径可以相同,也可以不同。 默认是在appBase/ROOT目录下,自定义后就在定义的目录下。

同一个虚拟主机里appbase和docbase只能同时使用一个,如果定义了docbase,则appbase的后面要留空,写为: appBase=""

再增加一个虚拟主机:将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>

重启tomcat:
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

查看进程:
ps aux | grep tomcat 或 java

查看端口是否监听:
netstat -lnpt |grep java

在浏览器里测试访问,不用加8080端口,直接访问

实例:
        通过部署一个java的应用来体会appBase和docBase目录的作用

进入appBase定义的目录webapps目录,并下载zrlog程序
[root@aliyun ~]# cd /usr/local/tomcat/webapps/
[root@aliyun webapps]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
[root@aliyun webapps]# ls
docs  examples  host-manager  manager  ROOT  zrlog-1.7.1-baaecb9-release.war
等待一会再次查看,发现多了一个解压后的目录,这是unpackWARs的作用
[root@aliyun webapps]# ls
docs  examples  host-manager  manager  ROOT zrlog-1.7.1-baaecb9-release   zrlog-1.7.1-baaecb9-release.war
修改目录名称
[root@aliyun webapps]# mv zrlog-1.7.1-baaecb9-release zrlog
[root@aliyun webapps]# ls
docs  examples  host-manager  manager  ROOT zrlog   zrlog-1.7.1-baaecb9-release.war
等待一会再次查看,又出现了解压目录,这是unpackWARs的特性
[root@aliyun webapps]# ls
docs  examples  host-manager  manager  ROOT zrlog zrlog-1.7.1-baaecb9-release  zrlog-1.7.1-baaecb9-release.war
在浏览器里安装
ip:8080/zrlog/install/  或  ip:8080/zrlog/  (安装向导) 注意java目前监听的是80端口还是8080端口

创建数据库:
ps aux |grep mysql    查看mysql是否启动
mysql -u root -p         输入密码进入数据库
create databases zrlog;                                                                 创建数据库zrlog
grant all on zrlog.* to zrlog@127.0.0.1 identified by '12345'          创建用户并授权且指定来源ip和密码
show databases;                                                                            查看数据库zrlog是否存在
quit                                                                                                  退出mysql的root用户
mysql -u zrlog -h 127.0.0.1 -p                                以zrlog用户身份从127.0.0.1进入数据库,输入密码
show databases;                                                    查看数据库zrlog是否存在

继续在浏览器里安装
填写相关项,没有什么特别要求,安装完成后,点击查看即可看到界面

注意浏览器地址栏ip后面的目录,如果直接访问ip地址不加目录会直接跳转到tomcat的默认页面。
如果加上目录,则会访问到zrlog目录,即博客界面。

如果直接访问域名(若有解析的话),也会跳转到tomcat的默认页,在域名后也加上目录名则会进入zrlog目录,即博客界面。

原因:
        虽然我自定义了虚拟主机www.123.cn的docBase目录/data/wwwroot/123.cn,但是目录为空,在找不到虚拟主机www123.cn的配置和文档后,又会跳转到默认虚拟主机localhost处理,中间有个时间间隔,间隔期间网站访问可能会报404,not found。


将localhost主机appBase目录下zrlog目录里的所有内容移动到
www.123.cn主机docBase目录/data/wwwroot/123.cn/下
mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/

删除/usr/local/tomcat/webapps/目录下有关zrlog的所有内容
rm -rf /usr/local/tomcat/webqpps/zrlog*

重启tomcat:
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

查看进程:
ps aux | grep tomcat 或 java

查看端口是否监听:尤其是8005有没有监听
netstat -lnpt |grep java

在浏览器里测试访问,不用加目录,直接访问


配置 Tomcat日志

查看tomcat日志类型

[root@aliyun ~]# ls /usr/local/tomcat/logs/

catalina.2018-06-26.log    
catalina.out     

host-manager.2018-06-26.log      
manager.2018-06-26.log     
localhost_access_log.2018-06-26.txt 
localhost.2018-06-26.log     
    

catalina开头的日志为Tomcat综合日志,它记录Tomcat服务相关信息,也会记录错误日志。
catalina.2018-xx-xx.log和catalina.out内容相同,前者会每天生成一个新的日志。

host-manager和manager为管理相关的日志,其中host-manager为虚拟主机的管理日志。

localhost、localhost_access为默认虚拟主机日志,localhost_access访问日志,localhost为错误日志。
xxx 、xxx_access 为自定义的虚拟主机的日志,同样xxx_access为访问日志,xxx为错误日志。

访问日志默认不会生成,需要在server.xml中配置

在对应虚拟主机配置下面加入配置:(以123.cn为例)

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
         prefix="123.cn_access" suffix=".log"
         pattern="%h %l %u %t &quot;%r&quot; %s %b" />
prefix定义访问日志的前缀,suffix定义日志的后缀,pattern定义日志格式。directory定义目录的存放位置,logs=/usr/local/tomcat/logs/

新增的虚拟主机 默认并不会生成类似默认虚拟主机的那个localhost.日期.log日志, 错误日志会统一记录到catalina.out中。

关于Tomcat日志,最需关注catalina.out,当出现问题时,应该第一时间去查看它。









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值