26 Tomcat

16.1 Tomcat介绍

1. Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
2. java程序写的网站用tomcat+jdk来运行
3. tomcat是一个中间件,真正起作用的,解析java脚本的是jdk
4. jdk(java development kit)是整个java的核心,它包含了java运行环境和一堆java相关的工具以及java基础库。
5. 最主流的jdk为sun公司发布的jdk,除此之外,其实IBM公司也有发布JDK,CentOS上也可以用yum安装openjdk

补充
1.什么是JVM和JRE,JDK联系与区别https://blog.csdn.net/wang_xing1993/article/details/70226934
一句话总结:JVM:APP JRE:手机  JDK:手机工厂
2.Apache和Apache Tomcat的区别和联系 https://blog.csdn.net/qq_35008279/article/details/79576467
一句话总结:因为Apache(静态解析,如HTML,动态php模块)满足不了需求所以开发了Tomcat(动态解析,如JSP)
3.Nginx + Apache + Tomcat架构方式,为什么需要Apache?Apache的作用?https://www.oschina.net/question/573643_182590
一句话总结:历史遗留,可以直接Nginx+Tomcat架构

16.2 安装jdk

1. 下载,再传到centos系统/usr/local/src/目录下:
jdk官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

clipboard.png

[root@hao-01 ~]# cd /usr/local/src/
[root@hao-01 src]# rz     #会跳出文件框选择本地文件

2. 解压解包 :[root@hao-01 src]# tar zxvf jdk-8u161-linux-x64.tar.gz
https://blog.csdn.net/xiaoyuerp/article/details/81515376  解压tar zxvf  压缩tar zcvf

3.移动解压文件并重命名 :[root@hao-01 src]# mv jdk1.8.0_161 /usr/local/jdk1.8
https://blog.csdn.net/gotosola/article/details/79684549 软件安装位置

4. 编辑/etc/profile文件 :[root@hao-01 src]# vim /etc/profile
a.位于etc的两个配置文件(/etc/profile,/etc/bashrc)均为全局的,适用与每一个用户
b./etc/profile用于配置系统整体环境与自启动程序 PATH\USER\HOSTNAME\HISTSIZE
c./etc/bashrc用于配置系统整体函数与缩写(System wide functions and aliases)PS1 即
[root@hao-01 src]
d.~/.bash_profile为用户自定的bash信息,其会自动读取~/.bashrc的内容 个人化专属路径与环境变量
e..bash_history 记录命令历史
f..bash_logout 退出shell时的清理工作


添加内容 :
JAVA_HOME=/usr/local/jdk1.8/
JAVA_BIN=/usr/local/jdk1.8/bin
JRE_HOME=/usr/local/jdk1.8/jre
PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin
CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar

clipboard.png

5. 使其文件生效 :root@hao-01 src]# source /etc/profile

6. 查看版本号 :[root@hao-01 src]# java -version

clipboard.png

7. 搜索openjdk命令是否安装 ?[root@hao-01 src]# rpm -qa |grep openjdk #源码原生JDK不同于SUN公司JDK 

16.3 安装Tomcat
1. 进入下载包目录下 :[root@hao-01 ~]# cd /usr/local/src
2.下载tomcat安装包 :[root@hao-01 src]# wget http://apache.fayea.com/tomcat/tomcat-8/v8.5.29/bin/apache-tomcat-8.5.29.tar.gz
3. 解压解包 :[root@hao-01 src]# tar zxvf apache-tomcat-8.5.29.tar.gz
4. 移动解压文件并重命名 :[root@hao-01 src]# mv apache-tomcat-8.5.29 /usr/local/tomcat
5. 启动tomcat服务 :[root@hao-01 src]# /usr/local/tomcat/bin/startup.sh

clipboard.png

6. 搜索tomcat是否启动 ?[root@hao-01 src]# ps aux|grep tomcat #查看进程

clipboard.png

7. 关闭tomcat进程 :[root@hao-01 src]# /usr/local/tomcat/bin/shutdown.sh

8. 打开tomcat进程状态,查看java端口号打开(8005端口启动的比较慢) :[root@hao-01 src]# netstat -lntp |grep java

clipboard.png

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

16.4 配置Tomcat监听80端口

1. 更改.../server.xml配置文件 :[root@hao-01 ~]# vim /usr/local/tomcat/conf/server.xml
更改如下行(8080改为80):<Connector port="80" protocol="HTTP/1.1"

clipboard.png

2. Tomcat关闭;开启 :
[root@hao-01 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@hao-01 ~]# /usr/local/tomcat/bin/startup.sh

3. 搜索80端口有哪个服务占用 ?[root@hao-01 ~]# netstat -lntp |grep 80

clipboard.png

4. 关闭占用80端口的nginx服务 :[root@hao-01 ~]# /etc/init.d/nginx stop

clipboard.png

5. Tomcat关闭;开启 :
[root@hao-01 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@hao-01 ~]# /usr/local/tomcat/bin/startup.sh

6. 搜索80端口,查看80端口是否被java占用了 ?(注意:之前java占用8080端口,更改配置文件后,占用了80端口)
[root@hao-01 ~]# netstat -lntp |grep 80

clipboard.png

16.5-16.7配置Tomcat的虚拟主机(上中下)
1. 编辑.../server.xml配置文件,创建一个<host>虚拟主机 :
[root@hao-01 ~]# vim /usr/local/tomcat/conf/server.xml
插入内容(appBase和docBase不能同时指定目录,必须一方为空):
   <Host   name="www.123.cn" appBase=""  <!-- 注释内容  配置虚拟主机部分  域名与应用目录/usr/local/tomcat/ROOT -->
         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下面 -->

clipboard.png

其中<Host>和</Host>之间的配置为虚拟主机配置部分,name定义域名
appBase定义应用的目录Java的应用通常是一个jar的压缩包,你只需要将ja和r的压缩包放到appBase目录下面即可。
docBase,这个参数用来定义网站的文件存放路径,如果不定义,默认是在appBase/ROOT下面,定义了docBase就以该目录为主了,其中appBase和docBase可以一样。
访问404的问题,其实就是docBase没有定义对。
appBase为应用存放目录,通常是需要把war包直接放到该目录下面,它会自动解压成一个程序目录

2. 进入下载包目录下 :[root@hao-01 ~]# cd /usr/local/src
3. 下载zrlog包 :[root@hao-01 src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
4. 拷贝zrlog到.../webapps目录下 :[root@hao-01 src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
5. 进入.../webapps目录下 :[root@hao-01 src]# cd /usr/local/tomcat/webapps/
6. ls查看, .war包会自动解压 :[root@hao-01 webapps]# ls

clipboard.png

7. 重命名解压包 :[root@hao-01 webapps]# mv zrlog-1.7.1-baaecb9-release  zrlog
8. 打开80端口 :[root@hao-01 webapps]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
9. Windos游览器访问 Linux服务器ip/zrlog :

clipboard.png

10. 搜索mysql是否启动(没启动启动下) ?[root@hao-01 webapps]# ps aux |grep mysql

clipboard.png

11. 进入mysql(登录root用户权限) :[root@hao-01 webapps]# mysql -uroot -phaomima
12. 创建zrlog数据库 :mysql> create database zrlog;

clipboard.png

13. 创建mysql用户(zrlog),指定ip,设定密码 :mysql> grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by 'haomima';

clipboard.png

14. 进入mysql登录zrlog用户 :[root@hao-01 webapps]# mysql -uzrlog -h127.0.0.1 -phaomima
15. 查看数据库 :mysql> show databases;

clipboard.png

16. Windos游览器访问 Linux服务器ip/zrlog,填写mysql创建的库 用户名 设定的ip 用户密码 :

clipboard.png

安装向导 :

clipboard.png

安装完成 :

clipboard.png

主页 :clipboard.png

点主页旁边管理,就能就如管理界面:

clipboard.png

控制台 :

clipboard.png

设定使用域名访问zrlog博客:
17. 创建123.cn虚拟主机网站目录 :[root@hao-01 webapps]# mkdir /data/wwwroot/123.cn
18. 移动zrlog下的所有文件目录,到123.cn虚拟主机目录下 :
[root@hao-01 webapps]# mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/
19. Tomcat关闭;开启 :
[root@hao-01 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@hao-01 ~]# /usr/local/tomcat/bin/startup.sh
20. 打开windows系统找到hosts文件,笔记本格式打开编辑 :路径:C:\Windows\System32\drivers\etc
123.cn域名,指向Linux服务器ip。添加到windows hosts文件中!

clipboard.png

21. Windos游览器,访问www.123.cn/域名 :

clipboard.png

16.8 Tomcat日志

一、 查看tomcat日志目录 :

[root@hao-01 ~]#  ls /usr/local/tomcat/logs

日志分为四大类:

1. 其中catalina开头的日志为Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。
2. 其中catalina.2017-xx-xx.log和catalina.out内容相同,带日期的每天生成一个新的日志。
3. host-manager和manager为管理相关的日志,其中host-manager为虚拟主机的管理日志。
4. 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 &quot;%r&quot; %s %b" />

三、prefix定义访问日志的前缀,suffix定义日志的后缀,pattern定义日志格式。新增加的虚拟主机默认并不会生成类似默认虚拟主机的那个localhost.日期.log日志,错误日志会统一记录到catalina.out中。关于Tomcat日志,你最需要关注catalina.out,当出现问题时,我们应该第一想到去查看它。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值