Tomcat的常用配置

本文索引:

  • 配置tomcat监听80端口
  • Tomcat虚拟主机
  • Tomcat日志

配置tomcat监听80端口

默认tomcat监听的是8080端口,如果想直接输入ip就访问到网页,就需要进行如下操作:

  • 修改配置文件
[root@localhost src]# vim /usr/local/tomcat/conf/server.xml 
/定位到8080
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
修改8080为80,保存退出
  • 重启服务
# 先关闭后启动
[root@localhost src]# /usr/local/tomcat/bin/shutdown.sh 
[root@localhost src]# /usr/local/tomcat/bin/startup.sh 
  • 验证是否生效
[root@localhost src]# netstat -lntp | grep java
tcp6       0      0 :::80                   :::*                    LISTEN      2823/java           
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2751/java           
tcp6       0      0 :::8009                 :::*                    LISTEN      2751/java                 

如果系统内已经安装并启动了apache/nginx web服务,80端已被占用,需要关闭这些web服务器,然后重启tomcat服务。


Tomcat虚拟主机

跟apache/nginx web服务器一样,tomcat也可以设置虚拟主机。

在tomcat配置文件中<Host>和</Host>之间的配置为虚拟主机配置部分,name定义域名,appBase定义应用的目录,Java的应用通常是一个war的压缩包,你只需要将war的压缩包放到appBase目录下面即可。

[root@localhost src]# vim /usr/local/tomcat/conf/server.xml 
// 在</Host>下添加下列代码

<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>

# 部分参数说明:
# name:需要填写的是虚拟主机的域名
# appBase:应用项目(WAR包)所在目录,配合unpackWARs将自动解压WAR包成一个程序目录
# WAR包:开发人员开发的组建网站的各种网页、配置、jsp代码、数据库相关文件会被打包成一个WAR包,便于存放和传输。
# unpackWARs: 自动解压WAR包
# docBase:在该处定义的目录内存放的是解压后的WAR包的文件,定义了该项后,以该目录为主,appBase可以不需要定义,也可以定义成一样;如果不定义,默认文件存放在appBase/ROOT下,两者取其以即可。如果docBase没有定义正确,任意产生404错误。

appBase和docBase

appBase内写的是相对路径,其相对的是/usr/local/tomcat/

使用WAR包的时候需要写appBase,同时unpackWARs需要设置成“True”,否则无法自动解压。

如果提供的网站是一个目录,那些所涉及的所有文件就放在docBase参数所指定的目录下。

webapps目录下的ROOT目录

[root@localhost webapps]# ls ROOT/
asf-logo-wide.svg  bg-upper.png       tomcat.gif
bg-button.png      favicon.ico        tomcat.png
bg-middle.png      index.jsp          tomcat-power.gif
bg-nav-item.png    RELEASE-NOTES.txt  tomcat.svg
bg-nav.png         tomcat.css         WEB-INF

可以直接通过localhost/index.jsp/ localhost/bg-nav.png的方式进行访问,即默认访问的是ROOT目录

自己定义的程序目录也需要创建一个ROOT目录,同时把图片、静态文件放在ROOT目录下,这样就可以直接访问自定义网站了。

虚拟主机实例 --- zrlog博客的搭建

搭建好tomcat环境后,我们可以搭建一个简单的blog应用网站来体验下。

  1. 下载zrlog的WAR包
[root@localhost src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war
[root@localhost src]# du -sh zrlog-1.7.1-baaecb9-release.war 6.8M	zrlog-1.7.1-baaecb9-release.war
  1. 移动至tomcat目录下的webapps目录内
[root@localhost src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
# 改名的目的是为了访问的方便,毕竟包名有点长
[root@localhost webapps]# mv zrlog-1.7.1-baaecb9-release zrlog
  1. 创建相关数据库及用户
# 前提是系统内有mysql并启动
[root@localhost webapps]# ps aux | grep mysql
# 登录mysql,去创建zrlog用户
[root@localhost webapps]# mysql -uroot -p
Enter password: 
# 创建数据库zrlog
mysql> create database zrlog;
Query OK, 1 row affected (0.03 sec)
# 创建新用户zrlog,并赋予其权限
mysql> grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by 'zrlog';
Query OK, 0 rows affected (0.04 sec)
mysql> quit
Bye

# 使用zrlog用户登录测试
[root@localhost webapps]# mysql -uzrlog -h127.0.0.1 -p
Enter password: 

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
| zrlog              |
+--------------------+
3 rows in set (0.03 sec)

mysql> quit
Bye
  1. 使用浏览器登录注册

    • 输入刚创建的zrlog用户及其密码,邮箱随意

    step1

    • 设置管理员密码,自定义网站标签及子标题

    step2

    • 完成注册

    step3

    • 博客效果图

    web

注册成功后使用admin账户就可以登录博客自由的编辑、发布blog了!


Tomcat日志

[root@localhost tomcat]# ls /usr/local/tomcat/logs/
catalina.2018-01-13.log
catalina.2018-01-14.log
catalina.out
host-manager.2018-01-13.log
host-manager.2018-01-14.log
localhost.2018-01-13.log
localhost.2018-01-14.log
localhost_access_log.2018-01-13.txt
localhost_access_log.2018-01-14.txt
manager.2018-01-13.log
manager.2018-01-14.log

tomcat的日志分为4类:

  • catalina开头的日志为Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。tomcat会每天生成一个新的日志catalina.YYYY-mm-dd.log。catalina.out内容相同
  • host-manager为管理相关的日志,其中host-manager为虚拟主机的管理日志。日志内容可能为空
  • manager也是管理相关的日志,与host-manager类似
  • localhost开头的为虚拟主机相关日志,其中带access字样的日志为访问日志,不带access字样的为默认虚拟主机的错误日志

访问日志默认不生成,需要在server.xml内定义

<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" />

# directory定义日志存放的目录,这里是/usr/local/tomcat/logs目录
# prefix定义访问日志的前缀
# suffix定义日志的后缀
# pattern定义日志格式。

新增加的虚拟主机默认并不会生成类似默认虚拟主机的那个localhost.日期.log日志,错误日志信息会统一记录到catalina.out中。因此当出现问题时,应该第一时间去查看catalina.out文件。


猜你喜欢

转载自my.oschina.net/LuCastiel/blog/1614084