16.1-16.8预习笔记

1.Tomcat介绍

https://blog.csdn.net/liuajiehe1234567/article/details/78760564

16.1-16.8预习笔记_第1张图片

Apache Tomcat是由Apache Software Foundation(ASF)开发的一个开源Java WEB应用服务器。

这个软件用来装载你的javaweb程序,可以称它为web容器,你的jsp/servlet程序需要运行在Web容器上,Web容器有很多种,JBoss、WebLogic等等,Tomcat是其中一种。tomcat是一种web服务器,也可以称作运行在服务器(物理意义上的计算机)上的一种软件包。用来对服务器上的HTML文档提供访问权限控制。

tomcat所做的事情主要有:开启监听端口监听用户的请求,解析用户发来的http请求然后访问到你指定的应用系统,然后你返回的页面经过tomcat返回给用户。

 

Tomcat的(HTTP类型)Connector组件实现了HTTP请求的解析,Tomcat通过Connector组件接收HTTP请求并解析,然后把解析后的信息交给Servlet处理:

 

       对于静态资源(html/js/jpg等)请求,Tomcat提供默认的Servlet来处理并响应;

       对于动态请求,可以映射到自己编写的Servlet应用程序来处理。

 

Nginx、Apache都是目前主流的Web服务器,也可以作为反向代理服务器;它们在处理大量并发的请求连接、连接会话管理和静态内容请求等方面相比Tomcat更具优势。

       所以一般在实际应用中,先是通过Nginx(或Apache)反向代理服务器接收请求,匹配分离动态/静态请求(动静分离);

       如果是静态请求,则转发到另外的Nginx WEB服务器上,返回静态内容;如果是动态请求,则转发到后面的Tomcat应用服务器,处理动态请求的业务逻辑。

 

---------------------

作者:尐譽

来源:CSDN

原文:https://blog.csdn.net/tjiyu/article/details/54590258

版权声明:本文为博主原创文章,转载请附上博文链接!

 

16.1-16.8预习笔记_第2张图片

 

2.安装jdk

官方网址http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

1)下载jdk版本1.8 x64,保存在/usr/local/src下

2)tar -zxvf jdk-8u191-linux-x64.tar.gz

3)mv jdk1.8.0_191 /usr/local/jdk1.8

4)vim /etc/profile, 写入下面的内容,来定义环境变量

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

 

5)source /etc/profile

6)用# java -version,来检查jdk是否成功安装,如果绿色线的部分和之前我们安装的版本名称一致,则为安装成功

 

 

 

3.安装Tomcat

1) 到https://tomcat.apache.org/去选择下载的版本,下载到/usr/local/src下面

2)tar -zxvf apache-tomcat-8.5.37.tar.gz

3)mv apache-tomcat-8.5.37 /usr/local/tomcat

4)/usr/local/tomcat/bin/startup.sh 用来启动tomcat

 

 

ps aux |grep java, 如果有Java的进程就表明Tomcat启动成功

 

5)关闭Tomcat服务,/usr/local/tomcat/bin/shutdown.sh

因为Tomcat不支持restart,所以如果改了配置文件就需要先关闭服务在开启服务

 

我们开启Tomcat之后,可以netstat -nltp |grep java, 可以发现8009;8080;8005三个端口被监听

 

8080为提供web服务的端口

16.1-16.8预习笔记_第3张图片

8005为管理端口

8009端口为第三方服务调用的端口,比如httpd和Tomcat结合时会用到

 

 

4.配置Tomcat监听80端口

默认web访问的是80端口,在浏览器访问的时候可以省略但是其他的端口就不行,这样很不方便

tomcat支持自定义端口,所以为了方便我们把8080端口改为80

 

1)tomcat的配置文件在 /usr/local/tomcat/conf/server.xml下

vim /usr/local/tomcat/conf/server.xml

2)搜索8080,找到下面的内容,这个地方是控制监听端口的

               connectionTimeout="20000"

               redirectPort="8443" />

 

所以我们把8080改为80

3)重启tomcat服务

/usr/local/tomcat/bin/shutdown.sh

/usr/local/tomcat/bin/startup.sh

 

 

我们再用netstat -nltp |grep java, 就可以看到8080web端口已经改为80端口

 

注:有时我们改了tomcat的端口,但是netstat的结果显示没有监听到,那可能是出现了端口占用的情况,我们可以netstat -nltp |grep 80,来看一下是什么服务占用了端口

例如,如果是nginx占用了,在做实验的情况下,可以stop nginx的服务,然后再shutdown.sh和startup.sh tomcat服务

 

 

5-7.配置Tomcat的虚拟主机

就类似Apache和nginx web server,tomcat也支持虚拟主机,一个ip下可以访问多个域名(网站),每个网站的配置文件就是一个虚拟主机

1)vim /usr/local/tomcat/conf/server.xml

2 )搜索

Host name="localhost"   appBase="webapps"

            unpackWARs="true" autoDeploy="true">

 

        

        

 

        

        

               prefix="localhost_access_log" suffix=".txt"

               pattern="%h %l %u %t "%r" %s %b" />

 

      

 

配置文件的具体解释

  • Host name="localhost"

  •  appBase="webapps"

这个目录下面的子目录将自动被部署为应用,存放的内容为war包,且war(包括运行网站的配置,与数据库相关的文件,jsp)文件将被自动解压缩并部署为应用,默认为tomcat下webapps目录,如果不想访问默认ROOT目录,修改这里,同理如果想访问配置目录下应用为默认应用,在此目录下新增ROOT目录文件夹。

  •    unpackWARs="true" autoDeploy="true">

自动解压war包

  • 如果我们不想用war包来作为web应用存放点,而是想要把一些jps程序存放到一个目录下再进行配置,那么就需要用docBase

 docBase就是用来制定存放war包解压过后的程序的目录

所以如果不想解压就用appBase

  • 下面内容为配置日志

   

               prefix="localhost_access_log" suffix=".txt"

               pattern="%h %l %u %t "%r" %s %b" />

 

3)我们可以在localhost下面再新增一个虚拟主机,在后面写入下面的内容

    unpackWARs= "true" autoDeploy="true"

    xmlValidation="false" xmlNamespaceAware="false">

   

16.1-16.8预习笔记_第4张图片

 

注:

docBase,这个参数用来定义网站的文件存放路径,如果不定义,默认是在appBase/ROOT下面,定义了docBase就以该目录为主了,其中appBase和docBase可以一样。在这一步操作过程中很多同学遇到过访问404的问题,其实就是docBase没有定义对。

appBase为应用存放目录,通常是需要把war包直接放到该目录下面,它会自动解压成一个程序目录

 

4)下面我们通过部署一个java的应用来体会appBase和docBase目录的作用

ZrLog 是使用 Java 开发的博客程序,具有简约,易用,组件化,内存占用低等特点

Markdown 编辑器,让更多的精力放在写作上,而不是花费大量时间在学习程序的使用上

  • 下载zrlog

#wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war

  • 默认appBase是存放在/usr/local/tomcat/webapps/

cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/, 然后我们ls /usr/local/tomcat/webapps可以发现多了zrlog-1.7.1-baaecb9-release 和 zrlog-1.7.1-baaecb9-release.war

 

  • cd /usr/local/tomcat/webapps/

           mv zrlog-1.7.1-baaecb9-release zrlog

  • 用浏览器访问192.168.224.128/zrlog

16.1-16.8预习笔记_第5张图片

 

 

  • 启动mysql,进入mysqld -uroot -p, 创建一个数据库

create database zrlog;

创建zrlog用户,grant all on zrlog.* to [email protected] identified by 'passwd';

  • 把设置好的信息填入上图,选择下一步

  • 16.1-16.8预习笔记_第6张图片

下一步点击完成,点击查看

16.1-16.8预习笔记_第7张图片

 

如果我们不想访问的时候加目录,想直接访问域名

  • vim /usr/local/tomcat/conf/server.xml

搜索

 

    unpackWARs= "true" autoDeploy="true"

    xmlValidation="false" xmlNamespaceAware="false">

   

因为我们没有定义appBase而是定义了docBase,所以我们先创建/data/wwwroot/123.cn/

并且把zrlog move到/data/wwwroot/123.cn/这个目录下, mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/

重启tomcat服务

  • 在Windows下面绑定host www.123.cn

  • 在浏览器输入www.123.cn就可以访问之前设置的博客网站了

 

5)如果自己定义appBase,要记得创建ROOT目录,一些静态文件等都是放在appBase目录下的ROOT目录下的

 

 

 

5.Tomcat日志

• ls /usr/local/tomcat/logs,大概分为catalina;host-manager;localhost;host-manager

• 其中catalina开头的日志为Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。

• 其中catalina.2017-xx-xx.log和catalina.out内容相同,前者会每天生成一个新的日志。

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

• localhost和localhost_access为虚拟主机相关日志,其中带access字样的日志为访问日志,不带access字样的为默认虚拟主机的错误日志。

• 访问日志默认不会生成,需要在server.xml中配置一下。配置方法如下

在对应虚拟主机的里面加入下面的配置(假如域名为123.cn):

         prefix="123.cn_access" suffix=".log"

         pattern="%h %l %u %t "%r" %s %b" />

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

你可能感兴趣的:(16.1-16.8预习笔记)