配置Tomcat的虚拟主机
2018-01-23 00:00
423 查看
16.4 配置Tomcat监听80端口
[root@cham002 ~]# vim /usr/local/tomcat/conf/server.xml <!-- A "Connector" represents an endpoint by which requests are received and responses are returned. Documentation at : Java HTTP Connector: /docs/config/http.html Java AJP Connector: /docs/config/ajp.html APR (HTTP/AJP) Connector: /docs/apr.html Define a non-SSL/TLS HTTP/1.1 Connector on port 8080 --> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <!-- A "Connector" using the shared thread pool--> <!-- <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" :wq [root@cham002 ~]# /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@cham002 ~]# /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. [root@cham002 ~]# netstat -lntp |grep java tcp6 0 0 127.0.0.1:8005 :::* LISTEN 8038/java tcp6 0 0 :::8009 :::* LISTEN 8038/java [root@cham002 ~]# ps aux |grep java root 8038 3.3 8.2 2742148 83040 pts/1 Sl 22:12 0:02 /usr/local/jdk1.8/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start root 8071 0.0 0.0 112680 976 pts/1 S+ 22:14 0:00 grep --color=auto java 说明: 此时Tomcat服务正常运行,但是没有监听端口,监听80端口的是nginx服务。 如果想让Tomcat监听80端口,需要关闭nginx服务,然后重启Tomcat服务。 [root@cham002 ~]# /etc/init.d/nginx stop Stopping nginx (via systemctl): [ 确定 ] [root@cham002 ~]# /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@cham002 ~]# /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. [root@cham002 ~]# netstat -lntp |grep 80 tcp 0 0 0.0.0.0:20048 0.0.0.0:* LISTEN 1680/rpc.mountd tcp6 0 0 :::80 :::* LISTEN 8136/java tcp6 0 0 :::20048 :::* LISTEN 1680/rpc.mountd tcp6 0 0 :::8009 :::* LISTEN 8136/java [root@cham002 ~]# ps aux |grep java root 8136 9.7 6.7 2725708 68300 pts/1 Sl 22:16 0:01 /usr/local/jdk1.8/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start root 8155 0.0 0.0 112680 976 pts/1 S+ 22:17 0:00 grep --color=auto java
说明: 在配置文件中搜索8080找到如上所示参数,将默认的8080端口改为80端口,更改完成后重启服务。
说明: 此时使用浏览器访问主机IP可以直接进入Tomcat主页。
16.5 配置Tomcat的虚拟主机(上)
[root@cham002 ~]# vim /usr/local/tomcat/conf/server.xml <Host name="www.123.cn" appBase="" #appbase是定义Tomcat的应用(war文件)存放位置 #如果未使用该参数定义其应用,可以使用docbase来指定应用存放目录 #当这两个参数同时存在时,需要将其中一个写为空!!!!!! unpackWARs= "true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="/data/wwwroot/123.cn/" debug="0" reloadable="true" crossContext="true"/> </Host>
说明: 在配置文件中搜索“Host”找到虚拟主机配置参数,在配置文件自带(默认)虚拟主机后面增加如上参数(增加一个虚拟主机)。
16.6 配置Tomcat的虚拟主机(中)
本节使用Tomcat部署一个Java应用。下载zrlog
[root@cham002 ~]# cd /usr/local/src [root@cham002 src]# ls apache-tomcat-8.5.24.tar.gz httpd-2.4.29.tar.gz php-5.6.30 apr-1.6.3 jdk-8u161-linux-x64.tar.gz php-5.6.30.tar.gz apr-1.6.3.tar.gz mariadb-10.2.6-linux-glibc_214-x86_64.tar.gz php-7.1.6 apr-util-1.6.1 mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz php-7.1.6.tar.bz2 apr-util-1.6.1.tar.bz2 nginx-1.12.1 phpredis-develop httpd-2.4.29 nginx-1.12.1.tar.gz phpredis-develop.zip [root@cham002 src]# wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war [root@cham002 src]# ls /usr/local/tomcat/webapps/ docs examples host-manager manager ROOT [root@cham002 src]# cp zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/ #因为appbase支持自动解压war包,所以将zrlog包放到appbase的根目录下。 [root@cham002 src]# ls /usr/local/tomcat/webapps/ docs examples host-manager manager ROOT zrlog-1.7.1-baaecb9-release.war [root@cham002 src]# ls /usr/local/tomcat/webapps/ docs examples host-manager manager ROOT zrlog-1.7.1-baaecb9-release zrlog-1.7.1-baaecb9-release.war #拷贝完成后,zrlog包会自动被解压,解压完成后就可以直接访问该文件。待解压完后对其重命名 [root@cham002 src]# cd /usr/local/tomcat/webapps/ [root@cham002 webapps]# ls docs examples host-manager manager ROOT zrlog-1.7.1-baaecb9-release zrlog-1.7.1-baaecb9-release.war [root@cham002 webapps]# mv zrlog-1.7.1-baaecb9-release zrlog #对其重命名 [root@cham002 webapps]# ls docs examples host-manager manager ROOT zrlog zrlog-1.7.1-baaecb9-release.war #当war包存在的时候会再次生成目录 [root@cham002 webapps]# ls docs examples host-manager manager ROOT zrlog zrlog-1.7.1-baaecb9-release.war [root@cham002 webapps]# ls docs examples host-manager manager ROOT zrlog zrlog-1.7.1-baaecb9-release zrlog-1.7.1-baaecb9-release.war
安装zrlog
在浏览器输入IP:192.168.230.135/zrlog/instll 进入安装向导:创建数据库
[root@cham002 webapps]# ps aux |grep mysql root 2321 0.0 0.1 115392 1592 ? S 1月21 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/cham002.pid mysql 2483 0.0 43.9 1038604 443344 ? Sl 1月21 2:14 /usr/local/mysql/bin/mysqld --basedir=/usr/localmysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/cham002.err --pid-file=/data/mysql/cham002.pid --socket=/tmp/mysql.sock root 8334 0.0 0.0 112684 976 pts/1 S+ 23:01 0:00 grep --color=auto my [root@cham002 webapps]# mysql -uroot -pchampin Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.6.35 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database zrlog; Query OK, 1 row affected (0.07 sec) mysql> grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by 'champinliunx'; Query OK, 0 rows affected (0.10 sec) mysql> quit Bye #检测创建用户是否正确,这里输入快了密码champinlinux写成champinliunx############################ [root@cham002 webapps]# mysql -uzrlog -h127.0.0.1 -pchampinliunx Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.6.35 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | test | | zrlog | +--------------------+ 3 rows in set (0.08 sec) mysql> quit Bye 我把它改回来 [root@cham002 webapps]# mysql -uroot -pchampin Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.6.35 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show grants for zrlog@127.0.0.1; +--------------------------------------------------------------------------------------------------------------+ | Grants for zrlog@127.0.0.1 | +--------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'zrlog'@'127.0.0.1' IDENTIFIED BY PASSWORD '*DC194C2CB27660577928CA8C4287922182392453' | | GRANT ALL PRIVILEGES ON `zrlog`.* TO 'zrlog'@'127.0.0.1' | +--------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec) mysql> grant all on zrlog.* to 'zrlog'@127.0.0.1 identified by 'champinlinux'; Query OK, 0 rows affected (0.00 sec) mysql> quit Bye [root@cham002 webapps]# mysql -uzrlog -h127.0.0.1 -pchampinlinux Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.6.35 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
连接数据库
创建管理员密码
创建完成后点击“下一步”:
完成以上操作后,需要在Windows中绑定hosts。如果已经忽略
16.7 配置Tomcat的虚拟主机(下)
之前想要访问zrlog需要在浏览器中指定IP和目录(192.168.8.132/zrlog),那么如何才能输入IP直接访问该目录呢?配置如下:[root@cham002 webapps]# 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> …… :q! [root@cham002 webapps]# mkdir /data/wwwroot/123.cn [root@cham002 webapps]# mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/ [root@cham002 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 [root@cham002 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.
完成以上操作后,在Windows中绑定hosts,访问,已操作忽略
比对一下配置文件。
appBase="webapps" /usr/local/tomcat/webapps/
conf /usr/local/tomacat/conf/
16.8 Tomcat日志
[root@cham002 ~]# cd /usr/local/tomcat/ [root@cham002 tomcat]# ls bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work [root@cham002 tomcat]# ls logs catalina.2018-01-21.log host-manager.2018-01-23.log localhost_access_log.2018-01-23.txt catalina.2018-01-22.log localhost.2018-01-21.log manager.2018-01-21.log catalina.2018-01-23.log localhost.2018-01-22.log manager.2018-01-22.log catalina.out localhost.2018-01-23.log manager.2018-01-23.log host-manager.2018-01-21.log localhost_access_log.2018-01-21.txt host-manager.2018-01-22.log localhost_access_log.2018-01-22.txt
说明:
catalina开头的日志为Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。
catalina.2017-xx-xx.log和catalina.out内容相同,前者会每天生成一个新的日志。
host-manager和manager为管理相关的日志,其中host-manager为虚拟主机的管理日志。
localhost和localhost_access为虚拟主机相关日志,其中带access字样的日志为访问日志,不带access字样的为默认虚拟主机的错误日志。
访问日志默认不会生成,需要在server.xml中配置一下。
配置访问日志
具体方法是在对应虚拟主机的<Host></Host>里面加入下面的配置(以域名www123.cn为例):<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"/> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="www.123.cn_access" suffix=".log" pattern="%h %l %u %t "%r" %s %b" /> </Host>
核心参数:<Valve/> 说明:
prefix定义访问日志的前缀;
suffix定义日志的后缀;
pattern定义日志格式。
新增加的虚拟主机默认并不会生成类似默认虚拟主机的那个localhost.日期.log日志,错误日志会统一记录到catalina.out中。关于Tomcat日志,你最需要关注catalina.out,当出现问题时,我们应该第一想到去查看它。
相关文章推荐
- Tomcat8.0配置虚拟主机
- 在 Tomcat 上配置虚拟主机
- linux下Apache2.2.4 + tomcat5.5+php 一个IP配置多域名,虚拟主机
- Tomcat 配置WEB虚拟映射 及 配置虚拟主机
- TOMCAT虚拟主机及为虚拟主机配置应用 HTTP协议
- Tomcat配置(配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志)
- Tomcat 基于域名的虚拟主机配置
- tomcat服务器闪退问题及配置虚拟主机
- 16.4 配置Tomcat监听80端口;16.5、16.6、16.7配置Tomcat的虚拟主机(上中下);16.8 Tomcat日志
- Tomcat配置多个虚拟主机、部署多个项目
- tomcat配置虚拟主机
- 配置tomcat监听80端口、配置tomcat虚拟主机、tomcat日志
- Tomcat 6 配置虚拟主机<域名/二级域名>,并通过Tomcat控制台对多个Host进行管理
- Tomcat虚拟目录与虚拟主机的配置
- Tomcat配置虚拟主机
- JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)
- Tomcat配置虚拟主机
- Jboss3.0-Tomcat4.03的虚拟主机的配置
- tomcat配置虚拟主机
- Day06 4000 Ajax中跨域请求,域名处理,forward与redirect区别,tomcat中配置虚拟主机