配置Tomcat虚拟主机

配置Tomcat监听80端口

编辑Tomcat的配置文件

[root@shuai-01 src]# vim /usr/local/tomcat/conf/server.xml 

<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->

保存退出

重启服务

[root@shuai-01 src]# /usr/local/tomcat/bin/shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@shuai-01 src]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

查看端口80:

netstat -lntp |grep java
tcp6       0      0 :::8009                 :::*                    LISTEN      4913/java           
[root@shuai-01 src]# netstat -lntp |grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2008/nginx: master  
tcp6       0      0 :::8009                 :::*                    LISTEN      4913/java 

这时,虽然有80端口,但是使用80端口的是Nginx服务,所以,要先停掉Nginx服务,在重新启动Tomcat

[root@shuai-01 src]# /etc/init.d/nginx stop
Stopping nginx (via systemctl):                            [  确定  ]


[root@shuai-01 src]# netstat -lntp |grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      5012/java           
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      5012/java           
tcp6       0      0 :::8009                 :::*                    LISTEN      5012/java 

这时,浏览器访问就不用输入端口号了。

这里写图片描述

配置Tomcat的虚拟主机(上)

编辑配置文件

[root@shuai-01 src]# vim /usr/local/tomcat/conf/server.xml 

这是Tomcat的虚拟主机配置(这个是定义APPbase定义Tomcat的应用(war文件的存放位置))

  <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">

    <!-- SingleSignOn valve, share authentication between web applications
         Documentation at: /docs/config/valve.html -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->

    <!-- Access log processes all example.
         Documentation at: /docs/config/valve.html
         Note: The pattern used is equivalent to using pattern="common" -->
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log" suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />

  </Host>

war文件是一个网页的打包文件,而还有一种是通过docbase来指定应用的存放目录(跟Apache,Nginx差不多)

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

#docbase来指定应用存放目录
#docbase ,appbase不能同时存在,其中一个写为空

在配置文件中加上虚拟主机,写的是docbase配置

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

保存退出

配置Tomcat的虚拟主机

通过使用Tomcat来部署一个Java应用(zrlog)

下载zrlog文件,在src目录下

[root@shuai-01 src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war

先使用APPbase部署zrlog 
下载的就是一个war包,而且Tomcat自己定义了APPbase=“webapps” 
把zrlog包拷贝到/usr/local/tomcat/webapps/目录下

[root@shuai-01 src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/

[root@shuai-01 src]# ls /usr/local/tomcat/webapps/
docs          ROOT
examples      zrlog-1.7.1-baaecb9-release
host-manager  zrlog-1.7.1-baaecb9-release.war
manager

给zrlog-1.7.1-baaecb9-release目录改一个名字

[root@shuai-01 webapps]# mv zrlog-1.7.1-baaecb9-release zrlog

[root@shuai-01 webapps]# ls
docs      host-manager  ROOT   zrlog-1.7.1-baaecb9-release
examples  manager       zrlog  zrlog-1.7.1-baaecb9-release.war

用浏览器访问: 
会出先安装向导,实际上就是去配置数据库 
这里写图片描述

在linux端,检查一下MySQL启动没有

[root@shuai-01 webapps]# ps aux |grep mysql
root       2286  0.0  0.1 115392  1488 ?        S    13:11   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/shuai-01.pid
mysql      2646  0.0 45.5 1308992 455108 ?      Sl   13:11   0:18 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/shuai-01.err --pid-file=/data/mysql/shuai-01.pid --socket=/tmp/mysql.sock
root       5256  0.0  0.0 112684   976 pts/0    S+   22:13   0:00 grep --color=auto mysql

登录数据库:

[root@shuai-01 webapps]# mysql -uroot -p111111

创建一个数据库:

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

创建一个用户:

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

将创建的用户及密码在浏览器上填上

这里写图片描述

下一步

这里写图片描述

这里写图片描述

安装完成

这里写图片描述

配置Tomcat的虚拟主机(下)

通过docbase使用zrlog

打开配置文件

[root@shuai-01 webapps]# vim /usr/local/tomcat/conf/server.xml 

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

定义的域名是www.123.cn 
docbase=”/data/wwwroot/123.cn/”

创建一个文件夹(/data/wwwroot/123.cn)

[root@shuai-01 webapps]# mkdir /data/wwwroot/123.cn

将zrlog文件移到目录下

[root@shuai-01 webapps]# mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/

绑定Windows的hosts

这里写图片描述

重启Tomcat服务

[root@shuai-01 webapps]# /usr/local/tomcat/bin/shutdown.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
^R
[root@shuai-01 webapps]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

这里写图片描述

Tomcat默认访问的是APPbase下的ROOT,如果自己写一个网站,一定要将他的静态文件放到ROOT里,不然可能会404

[root@shuai-01 webapps]# ls
docs          logs     zrlog
examples      manager  zrlog-1.7.1-baaecb9-release
host-manager  ROOT     zrlog-1.7.1-baaecb9-release.war
[root@shuai-01 webapps]# ls ROOT
asf-logo-wide.svg  bg-nav.png    RELEASE-NOTES.txt  tomcat-power.gif
bg-button.png      bg-upper.png  tomcat.css         tomcat.svg
bg-middle.png      favicon.ico   tomcat.gif         WEB-INF
bg-nav-item.png    index.jsp     tomcat.png

Tomcat没有向Nginx,Apache一样,指定MySQL的一些东西,就能和mysql通信。自身带了MySQL的驱动

Tomcat的日志

[root@shuai-01 tomcat]# ls logs
catalina.2018-01-28.log      localhost.2018-01-28.log
catalina.out                 localhost_access_log.2018-01-28.txt
host-manager.2018-01-28.log  manager.2018-01-28.log
  • catalina开头的日志为Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。
  • catalina.2017-xx-xx.log和catalina.out内容相同,前者会每天生成一个新的日志。
  • host-manager和manager为管理相关的日志,其中host-manager为虚拟主机的管理日志。
  • localhost和localhost_access为虚拟主机相关日志,其中带access字样的日志为访问日志,不带access字样的为默认虚拟主机的错误日志。
  • 访问日志默认不会生成,需要在server.xml中配置一下

配置访问日志

prefix定义访问日志的前缀; 
suffix定义日志的后缀; 
pattern定义日志格式。 
新增加的虚拟主机默认并不会生成类似默认虚拟主机的那个localhost.日期.log日志,错误日志会统一记录到catalina.out中。关于Tomcat日志,你最需要关注catalina.out,当出现问题时,我们应该第一想到去查看它

猜你喜欢

转载自blog.csdn.net/chen112826473/article/details/79970494