配置Tomcat虚拟主机

12月13日任务css

16.4 配置Tomcat监听80端口java

16.5/16.6/16.7 配置Tomcat虚拟主机mysql

16.8 Tomcat日志nginx

 

配置tomcat监听80端口

默认tomcat监听的是8080端口,若是想直接输入ip就访问到网页,就须要进行以下操做:web

  • 修改配置文件
[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服务。sql


Tomcat虚拟主机

跟apache/nginx web服务器同样,tomcat也能够设置虚拟主机。数据库

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

[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/vim

使用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.jsplocalhost/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/

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文件。

相关文章
相关标签/搜索