前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tomcat架构配置

Tomcat架构配置

作者头像
老七Linux
发布2018-05-09 16:30:34
6300
发布2018-05-09 16:30:34
举报
文章被收录于专栏:Laoqi's Linux运维专列

一、配置监听端口

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

1.1 打开配置文件

代码语言:javascript
复制
[[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 重启服务

代码语言:javascript
复制
[root@zhdy-03 sbin]# /usr/local/tomcat/bin/shutdown.sh

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

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

代码语言:javascript
复制
[[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

代码语言:javascript
复制
[[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
代码语言:javascript
复制
[[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>下面增加如下内容:

代码语言:javascript
复制
<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:
代码语言:javascript
复制
[[email protected]03 src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
  1. 创建站点目录:
代码语言:javascript
复制
[[email protected]03 src]# mkdir /data/wwwroot/www.asd.com/
//我们先把站点程序放到appBASE中解压,然后再次全部移动到此目录下↑
  1. 解压缩war包,并移动到站点目录:
代码语言:javascript
复制
[[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:
代码语言:javascript
复制
[root@zhdy-03 sbin]# /usr/local/tomcat/bin/shutdown.sh

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

  1. 创建数据库:
代码语言:javascript
复制
[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 目录位置

代码语言:javascript
复制
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):

代码语言:javascript
复制
<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,当出现问题时,我们应该第一想到去查看它。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016/08/29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、配置监听端口
  • 二、配置虚拟主机
  • 三、Tomcat日志
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档