Tomcat架构配置

一、配置监听端口

之前我们已经配置了Tomcat的基础架构,也可以使用IP+8080去访问,但是有一个问题如何去更改这个端口呢?

1.1 打开配置文件

[[email protected]03 sbin]# vim /usr/local/tomcat/conf/server.xml 

搜索8080

更改80端口:
Connector port="8080" protocol="HTTP/1.1"
修改为:
Connector port="80" protocol="HTTP/1.1"

1.2 重启服务

[root@zhdy-03 sbin]# /usr/local/tomcat/bin/shutdown.sh

[root@zhdy-03 sbin]# /usr/local/tomcat/bin/startup.sh

当我们再次使用IP+80访问的时候发现还是可以使用80端口;再次查看一下端口:

[[email protected]03 sbin]# netstat -lntp | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1675/nginx: master  
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      3226/java           
tcp6       0      0 :::8009                 :::*                    LISTEN      3226/java           
[[email protected]03 sbin]#

不难发现,80端口已经被我们之前配置的nginx占用。

所以我们需要停掉nginx,然后再次重启java

[[email protected] sbin]# /etc/init.d/nginx stop
Stopping nginx (via systemctl):                            [  确定  ]

[[email protected]03 sbin]# /usr/local/tomcat/bin/shutdown.sh

[[email protected]03 sbin]# /usr/local/tomcat/bin/startup.sh
[[email protected]03 sbin]# netstat -lntp | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      3320/java           
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      3320/java           
tcp6       0      0 :::8009                 :::*                    LISTEN      3320/java


二、配置虚拟主机

虚拟主机也就是咱们之前讲过的,一个IP地址可以配置多个站点,绑定多个不同的域名,其中说白了就是咱们配置多个webserver。

2.1 server.xml其实就是java的主配置文件

其中<Host>和</Host>之间的配置为虚拟主机配置部分

name 定义域名;

appBase 定义应用的目录;

unpackWARs=”true” 是否自动解压;(也是就是说,当我们往站点目录里面直接上传一个war的包,它会自动解压)

Java的应用通常是一个jar的压缩包,你只需要将jar的压缩包放到appBase目录下面即可。刚刚访问的Tomcat默认页其实就是在appBase目录下面,不过是在它子目录ROOT里。

2.2 如何配置一个新的虚拟主机?

增加虚拟主机,编辑server.xml,在</Host>下面增加如下内容:

<Host name="www.asd.com" appBase=""
    unpackWARs= "true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="/data/wwwroot/www.asd.com/" debug="0" reloadable="true" crossContext="true"/>
</Host>

增加一个www.asd.com的java站点。

docBase=”/data/wwwroot/www.asd.com/” 这个就和咱们之前配置LAMP和LNMP差不多了。就是把站点的配置文件上传到此处。 有时候配置完毕,再次访问站点会出现404,那么几乎都是这个地方没有定义对,要么就是appBASE也上传了站点文件。(如果不知道如何解压war包,我们可以先把站点的包放到appBASE下,然后等到自动解压完毕,我们再次move站点的包到自定义的位置。)

铭哥专业解释:

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

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

2.3 部署一个java站点

  1. 下载站点程序zrlog:
[[email protected]03 src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
  1. 创建站点目录:
[[email protected]03 src]# mkdir /data/wwwroot/www.asd.com/
//我们先把站点程序放到appBASE中解压,然后再次全部移动到此目录下↑
  1. 解压缩war包,并移动到站点目录:
[[email protected]03 src]# mv zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/

等待个10几秒钟,就会出现一个自动解压出来包
[[email protected]03 webapps]# ls
docs  examples  host-manager  manager  ROOT  zrlog-1.7.1-baaecb9-release  zrlog-1.7.1-baaecb9-release.war

移动解压出来的站点目录到自定义的目录:
[[email protected]03 webapps]# mv zrlog/* /data/wwwroot/www.asd.com/

[[email protected] www.asd.com]# ls
admin  assets  error  favicon.ico  include  install  META-INF  WEB-INF
  1. 再次重启java:
[root@zhdy-03 sbin]# /usr/local/tomcat/bin/shutdown.sh

[root@zhdy-03 sbin]# /usr/local/tomcat/bin/startup.sh
  1. 外部的电脑配置hosts:
192.168.59.131 www.asd.com
  1. 访问自定义的域名就出现了类似wordpress的安装界面:

  1. 创建数据库:
[root@zhdy-03 www.asd.com]# ps aux | grep mysql

[root@zhdy-03 www.asd.com]# mysql -uroot -pzhangduanya

创建数据库并授权:

mysql> create database zrlog;
Query OK, 1 row affected (0.04 sec)

mysql> grant all on zrlog.* to 'zrlog'@'127.0.0.1' identified by 'zhangduanya';
Query OK, 0 rows affected (0.05 sec)

测试创建的用户是否正确:

[root@zhdy-03 www.asd.com]# mysql -uzrlog -h127.0.0.1 -pzhangduanya

mysql> show databases;
  1. 如下信息后期可以更改:

  1. 然后我们就成功的创建了一个站点:

  1. 可以测试发表一篇文章等:


三、Tomcat日志

在日常运维中,Tomcat用的还是蛮多的,但是一旦出现问题,我们就需要去解决,思路就来自日志文件。

3.1 目录位置

ls /usr/local/tomcat/logs

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

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

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

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

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

3.2 配置日志

在对应虚拟主机的<Host></Host>里面加入下面的配置(假如域名为asd.com):

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
         prefix="asd.com_access" suffix=".log"
         pattern="%h %l %u %t &quot;%r&quot; %s %b" />

prefix 定义访问日志的前缀;

suffix 定义日志的后缀;

pattern 定义日志格式。

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 复杂业务下向Mysql导入30万条数据代码优化的踩坑记录

    从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负...

    haifeiWu
  • 【系统设置】CentOS 修改机器名

    ken.io
  • SQL中GROUP BY用法示例

    GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类...

    Awesome_Tang
  • ISUX Xcube智能一键生成H5

    腾讯ISUX
  • 中国互联网协会发布:《2018中国互联网发展报告》

    在2018中国互联网大会闭幕论坛上,中国互联网协会正式发布《中国互联网发展报告2018》(以下简称《报告》)。《中国互联网发展报告》是由中国互联网协会与中国互联...

    钱塘数据
  • 知识体系解决迷茫的你

    最近在星球里群里都有小伙伴说道自己对未来的路比较迷茫,一旦闲下来就不知道自己改干啥,今天我这篇文章就是让你觉得一天给你 25 个小时你都不够用,觉得睡觉都是浪费...

    桃翁
  • 【倒计时7天】2018教育部-腾讯公司产学合作协同育人项目申请即将截止!

    腾讯高校合作
  • 考研英语-1-导学

    英二图表作文要重视。总体而言,英语一会比英语二难点。不过就写作而言,英语二会比英语一有难度,毕竟图表作文并不好写。

    用户1335799
  • 理工男图解零维到十维空间,烧脑已过度,受不了啦!

    让我们从一个点开始,和我们几何意义上的点一样,它没有大小、没有维度。它只是被想象出来的、作为标志一个位置的点。它什么也没有,空间、时间通通不存在,这就是零维度。

    钱塘数据
  • 不只是软件,在线也可以免费下载百度文库了。

    不管是学生,还是职场员工,下载各种文档几乎是不可避免的,各种XXX.docx,XXX.pptx更是家常便饭,人们最常用的就是百度文库,豆丁文库,道客巴巴这些下载...

    课代表

扫码关注云+社区

领取腾讯云代金券