本文索引:
- 配置tomcat监听80端口
- Tomcat虚拟主机
- Tomcat日志
配置tomcat监听80端口
默认tomcat监听的是8080端口,如果想直接输入ip就访问到网页,就需要进行如下操作:
修改配置文件
[root@localhost src]# vim /usr/local/tomcat/conf/server.xml /定位到8080
修改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配置文件中
[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应用网站来体验下。
下载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
移动至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
创建相关数据库及用户
前提是系统内有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
使用浏览器登录注册
- 输入刚创建的zrlog用户及其密码,邮箱随意
- 设置管理员密码,自定义网站标签及子标题
- 完成注册
- 博客效果图
注册成功后使用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 "%r" %s %b" />
# directory定义日志存放的目录,这里是/usr/local/tomcat/logs目录
# prefix定义访问日志的前缀
# suffix定义日志的后缀
# pattern定义日志格式。
新增加的虚拟主机默认并不会生成类似默认虚拟主机的那个localhost.日期.log日志,错误日志信息会统一记录到catalina.out中。因此当出现问题时,应该第一时间去查看catalina.out文件。