16.4 配置Tomcat监听80端口
时间:2022-04-27
本文章向大家介绍16.4 配置Tomcat监听80端口,主要内容包括配置Tomcat监听80端口目录概要、配置Tomcat监听80端口、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
配置Tomcat监听80端口目录概要
- vim /usr/local/tomcat/conf/server.xml
Connector port="8080" protocol="HTTP/1.1"修改为Connector port="80" protocol="HTTP/1.1"
- /usr/local/tomcat/bin/shutdown.sh
- /usr/local/tomcat/bin/startup.sh
配置Tomcat监听80端口
- tomcat监听的是8080端口,若想要直接直接访问,不需要8080端口访问,就是默认输入一个IP或者域名,访问的是80端口(访问的时候80端口是可以省略的)
- tomcat是支持自定义端口的,把 8080端口 改为 80端口
- 编辑tomcat的配置文件,在 /usr/local/tomcat/conf/目录下有一个server.xml文件
[root@hf-01 ~]# vim /usr/local/tomcat/conf/server.xml
搜索 /8080
这里是控制监听端口的,将这里的 8080 改为 80
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
保存退出
- 改完配置文件后,重启服务,因为是不支持restart的,只能先停止,然后在开启
- /usr/local/tomcat/bin/shutdown.sh
- /usr/local/tomcat/bin/startup.sh
[root@hf-01 ~]# /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@hf-01 ~]# /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@hf-01 ~]#
- 这时再来查看监听端口是否改变,会看到监听了80端口
[root@hf-01 ~]# netstat -lntp |grep java
tcp6 0 0 :::80 :::* LISTEN 3113/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 3113/java
tcp6 0 0 :::8009 :::* LISTEN 3113/java
[root@hf-01 ~]#
- 但有可能会没看到tomcat监听80端口,因为nginx已经监听了80端口,80端口被占用
- nginx占用80端口
- 解决方法:
- 停掉nginx服务命令/etc/init.d/nginx stop
- 再来重启tomcat,会看到tomcat监听的是80端口
- 这时再来浏览器访问IP (若是刚重启tomcat服务,8005端口还没启动,那么浏览器访问就会比较慢)
- 若是在实际线上的生产环境,就不能直接停掉Nginx,这时可以让nginx代理tomcat了,80 代理 8080
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python实现单例模式的5种方法
- java序列化和序列化ID的作用
- python函数式编程
- 让Vim打造成强大的IDE,附_vimrc的配置和使用
- python 中面向切面编程AOP和装饰器
- HashMap&ConcurrentHashMap&HashTable
- python中的垃圾回收机制
- python中值传递还是引用传递?
- 基于Docker+Jenkins+Git的集成开发环境搭建
- python 函数的本质理解
- centOS(离线) off-line install docker-ce
- Java 工厂 Simple Factory&Factory&Abstract Factory
- python 性能的优化
- python中列表的常见操作
- Aop 源码解读