2019独角兽企业重金招聘Python工程师标准>>>

16.4 配置Tomcat监听80端口

直接访问,使用默认的web服务,需要改动端口为80,如果不是80端口那么访问页面的时候需要指定端口才能访问

vim /usr/local/tomcat/conf/server.xml
Connector port="8080" protocol="HTTP/1.1"修改为Connector port="80" protocol="HTTP/1.1"

重启tomcat服务

/usr/local/tomcat/bin/shutdown.sh  //关闭服务
/usr/local/tomcat/bin/startup.sh   //开启服务

关闭服务的时候报错

[root@aminglinux-02 ~]# /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
八月 29, 2017 11:00:28 下午 org.apache.catalina.startup.Catalina stopServer
严重: Could not contact [localhost:[8005]]. Tomcat may not be running.
八月 29, 2017 11:00:28 下午 org.apache.catalina.startup.Catalina stopServer
严重: Catalina.stop:
java.net.ConnectException: 拒绝连接 (Connection refused)at java.net.PlainSocketImpl.socketConnect(Native Method)at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)at java.net.Socket.connect(Socket.java:589)at java.net.Socket.connect(Socket.java:538)at java.net.Socket.<init>(Socket.java:434)at java.net.Socket.<init>(Socket.java:211)at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:477)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:408)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:497)

查度娘以后得到答案,需要

export JAVA_HOME=/usr/local/jdk1.8/

才能正常关闭

正常关闭以后就可以正常开启tomcat服务

查看是否开始监听80端口

发现并没有监听,因为nginx已经监听了 80,80端口被占用

[root@aminglinux-02 ~]# !net
netstat -lntp |grep java
tcp6       0      0 :::8009                 :::*                    LISTEN      2597/java

所需需要停掉nginx服务

[root@aminglinux-02 ~]# service nginx stop
Stopping nginx (via systemctl):                            [  确定  ]

停掉服务以后再重启tomcat 就可以查看到 80端口了

[root@aminglinux-02 ~]# /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/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@aminglinux-02 ~]# /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/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@aminglinux-02 ~]# !net
netstat -lntp |grep java
tcp6       0      0 :::80                   :::*                    LISTEN      2690/java
tcp6       0      0 :::8009                 :::*                    LISTEN      2690/java

在浏览器看看不加8080访问tomcat 是否能访问默认页

在8005管理端口还没有完全启动之前,页面是打不开的,需要等8005管理端口完全开启以后才能访问

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

在之前的学习,Apache还是nginx都属于webServer,都支持虚拟主机配置文件,虚拟主机配置文件一台服务器上或者一个webserver上,支持一个IP下可以访问多个域名,美国域名代表一个网站,所以可以配置多个网站,每个网站都称之为一个虚拟主机,tomcat同样也支持这个概念

开启虚拟机

编辑配置文件

vim /usr/local/tomcat/conf/server.xml

搜索 Host

tomcat的配置文件格式为 xml,语法是“<>开头,</>结尾”

虚拟主机配置文件内容

其中<Host>和</Host>之间的配置为虚拟主机配置部分,name定义域名,appBase定义应用的目录,Java的应用通常是一个jar的压缩包,你只需要将jar的压缩包放到appBase目录下面即可。
刚刚访问的Tomcat默认页其实就是在appBase目录下面,不过是在它子目录ROOT里。

      <Host name="localhost"  appBase="webapps"unpackWARs="true" autoDeploy="true"><!-- SingleSignOn valve, share authentication between web applicationsDocumentation at: /docs/config/valve.html --><!--<Valve className="org.apache.catalina.authenticator.SingleSignOn" />--><!-- Access log processes all example.Documentation at: /docs/config/valve.htmlNote: 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>
  1. name="localhost //主机名

  2. appBase="webapps" //应用项目所在 ①知识点②知识点

  3. unpackWARs="true" //是否自动解压 “为true是会自动解压”

  4. 知识点:tomcat他需要提供一个war的包,这里包含着运行这个网站的文件、配置、数据库相关等等。

  5. 知识点:可以单独的指定一个目录,这个目录里面存放的是 jsp 的文件,也就是说提供的不是war包

  6. 知识点:webapps的默认路径为/usr/local/tomcat/webapps/,webapps目录下,默认有5个目录(docs examples host-manager manager ROOT)

增加虚拟主机

      <Host name="www.123.cn"; appBase=""      //写空就不会于docBase相互干扰unpackWARs= "true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"><Context path=""docBase="/data/wwwroot/123.cn/"   //自定义站点路径,不使用自动安装war的方式debug="0"reloadable="true"crossContext="true"/></Host>

1.docBase,这个参数用来定义网站的文件存放路径,如果不定义,默认是在appBase/ROOT下面,定义了docBase就以该目录为主了,其中appBase和docBase可以一样。在这一步操作过程中很多同学遇到过访问404的问题,其实就是docBase没有定义对。 1.appBase为应用存放目录(实际上是一个相对路径,相对于 /usr/local/tomcat/ 路径),通常是需要把war包直接放到该目录下面,它会自动解压成一个程序目录

为了方便测试,下载一个zrlog(java写的blog站点应用,轻量),进行测试

wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war

测试一

测试appbase自动解压war包

[root@aminglinux-02 src]# mv zrlog-1.7.1-baaecb9-release.war /usr/local/tomcat/webapps/
[root@aminglinux-02 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

发现移动到webapps目录以后,不一会就会生成一个目录,说明配置是有效的

为了不影响实验结果,先更改自动生成的目录的名字,再移走webapps目录下的war包;因为一旦移走war包,和war同名的目录也会自动删除;如果这个目录下没有和war同名的目录,也会重复的解压

[root@aminglinux-02 webapps]# mv zrlog-1.7.1-baaecb9-release zrlog
[root@aminglinux-02 webapps]# ls
docs  examples  host-manager  manager  ROOT  zrlog  zrlog-1.7.1-baaecb9-release  zrlog-1.7.1-baaecb9-release.war
[root@aminglinux-02 webapps]# mv zrlog-1.7.1-baaecb9-release.war /usr/local/src/
[root@aminglinux-02 webapps]# ls
docs  examples  host-manager  manager  ROOT  zrlog  zrlog-1.7.1-baaecb9-release
[root@aminglinux-02 webapps]# ls
docs  examples  host-manager  manager  ROOT  zrlog

这是就可以登录站点,尝试访问了

安装向导,其实就是一个配置数据库的过程

配置数据库

现在就来创建一个供zrlog使用的数据库,和账户

create databases zrlog ;
grant all on zrlog.* to 'zrlog'@localhost identified by 'aminglinux' ;

顺手检查一下mysql用户是否正确

[root@aminglinux-02 webapps]# mysql -uzrlog -paminglinux
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.00 sec)

然后回到浏览器,配置相关信息,之后就能访问了

测试二

测试用docBase指定路径,访问是否生效

前面做了新增虚拟机配置,自然就需要生成对应的目录

mkdir /data/wwwroot/123.cn/

将之前的zrlog的文件移动到当前目录下

mv /usr/local/tomcat/webapps/zrlog/* /data/wwwroot/123.cn/
[root@aminglinux-02 yulongxuan]# ls /data/wwwroot/123.cn/
admin/       assets/      error/       favicon.ico  include/     install/     META-INF/    WEB-INF/

重启服务 之前修改了配置文件,新增了虚拟主机,但并没有重启,所以没有及时生效

[root@aminglinux-02 yulongxuan]# /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/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
[root@aminglinux-02 yulongxuan]# /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/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

然后通过浏览器访问 www.123.cn

16.8 Tomcat日志

  1. ls /usr/local/tomcat/logs
  2. 其中catalina开头的日志为Tomcat的综合日志,它记录Tomcat服务相关信息,也会记录错误日志。
  3. 其中catalina.2017-xx-xx.log和catalina.out内容相同,前者会每天生成一个新的日志。
  4. host-manager和manager为管理相关的日志,其中host-manager为虚拟主机的管理日志。
  5. localhost和localhost_access为虚拟主机相关日志,其中带access字样的日志为访问日志,不带access字样的为默认虚拟主机的错误日志

日志不会默认生成

•具体方法是在对应虚拟主机的<Host></Host>里面加入下面的配置(假如域名为123.cn):

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

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

转载于:https://my.oschina.net/nova12315/blog/1785451

16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机16.8 Tomcat日志相关推荐

  1. 6月27日任务 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

    2019独角兽企业重金招聘Python工程师标准>>> 16.4 配置Tomcat监听80端口 1. vim /usr/local/tomcat/conf/server.xml Co ...

  2. 配置Tomcat监听80端口配置Tomcat虚拟主机Tomcat日志

    2019独角兽企业重金招聘Python工程师标准>>> 16.4 配置Tomcat监听80端口 Tomcat默认监听8080.8005以及8009端口,日常进行浏览器访问时,需要输入 ...

  3. 配置Tomcat监听80端口 配置Tomcat虚拟主机 Tomcat日志

    配置Tomcat监听80端口 • vim /usr/local/tomcat/conf/server.xml Connector port="8080" protocol=&quo ...

  4. Tomcat(1)介绍、jdk安装、安装Tomcat ​ 配置Tomcat监听80端口

    Tomcat介绍 (使用yum 下载安装的openjdk下载以后就可以使用) 以下实验用的是在官网下载程序包. Tomcat是一个中间键,要解析java相关的东西,需要先下载JDK 下载jdk 1.下 ...

  5. Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

    2019独角兽企业重金招聘Python工程师标准>>> Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta ...

  6. 58.配置tomcat监听80 虚拟主机 日志

    2019独角兽企业重金招聘Python工程师标准>>> 16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机(有如何创建一个zrlog博客) ...

  7. nginx监听80端口转发到tomcat 8080端口

    nginx的配置目录:/etc/nginx下 因为nginx会自动导入sites-available/default的文件和conf.d文件夹下的conf文件,我选择通过第二种方式倒入配置: 1.cd ...

  8. shell习题第6题:监听80端口

    [题目要求] 写一个脚本,判断本机的80端口(加入服务为httpd)是否开启,如果开启就什么都不做,如果发现端口不存在,那么重启一下httpd服务,并发邮件通知相关人员 [核心要点] 检测80端口使用 ...

  9. nginx配置监听443端口,开启ssl协议,走 https 访问

    本文目录 前言 一.检查 linux 服务器上的 nginx 是否安装 ssl 模块 二:为 nginx 安装 ssl 模块 三.nginx 开启 443 端口监听(https配置) 成功配好后的效果 ...

最新文章

  1. dac0832控制电机驱动流程图_智能电机驱动器让你的机器人控制更简单
  2. ubuntu 中修改用户名后sudo无法解析主机
  3. SQL Server数据库中使用sql脚本删除指定表的列
  4. Go 结构体的值传递和地址传递
  5. 关于机器学习的训练数据、验证数据和测试数据的形象比喻
  6. cos66度20分怎么用计算机算,物化2期末考试计算复习题
  7. ECMA学习小结(3)——constructor 和 prototype
  8. java 读取 文件 short_Java RandomAccessFile readShort()方法
  9. 华为服务器的中国梦——给客户带来价值
  10. 修改初始Manager QuerySets,重写Manager.get_query_set()函数之后,发现并没有按照我们指定的方法执行。...
  11. python车牌识别系统开源代码_TensorFlow车牌识别完整版代码(含车牌数据集)
  12. 基于聚类算法与随机森林算法的手机终端换机推荐
  13. UltraISO9.3.0.2610中文绿色注册版
  14. 三级缓存 SD—内存—网络
  15. 宋体 ttf_.shx和.ttf字体,你真的了解?
  16. 命令行使用oracle19c_把oracle19c数据导入oracle11g
  17. 【常用工具类】EasyExcel
  18. 3D成像方法汇总(原理解析):双目视觉、激光三角、结构光、ToF、光场、全息...
  19. Personalized Top-N Sequential Recommendation via Convolutional Sequence Embedding
  20. 五一培训 清北学堂 DAY3

热门文章

  1. Linux的关机与重启命令
  2. [导入]C#向Sql Server中插入记录时单引号的处理
  3. STL_Hash_map
  4. maven package和install
  5. Unity光照与渲染设置学习笔记
  6. bitbucket迁移
  7. linux iptables扩展,脚本防火墙
  8. Tomcatserverhttps协议配置简单介绍
  9. c++的ORM解决方案 -- ODB
  10. HDU 1394 Minimum Inversion Number(线段树的单点更新)