序言: 在学习Tomcat时, 部署虚拟服务主机时,遇到了无响应的情况.原以为是应为Tomcat默认端口8080在调整至(进行端口转发设置)默认端口80会和Mac自带Apache起冲突.但是也有同学使用Mac却得到响应.这里笔者重新记录一下.

 1 Tomcat的安装 

  1. 进入阿帕奇官网http://tomcat.apache.org/ 如下图(最好点击Which version 判断你需要哪一个版本)

        

  2. 笔者使用8.5.23版本 兼容Java7以及之后的版本(由于先在大部分情况下公司使用Java6 or Java7)

  点击 Core下的tar.gz 开始下载

  3.将下载好的文件该名称为Tomcat方便后续使用

  4.进入Mac下的资源库(/Library/) 将文件夹放到该处

  5 进入终端(Terminal) 输入 以下命令行

  1. ~$ cd /Library/Tomcat/bin
  2. ~$ ./startup.sh

  ./startup.sh表示开启Tomcat服务器

  此时在页面地址栏输入localhost:8080(127.0.0.1  Tomcat默认端口是8080)会出现可爱的小猫即Tomcat页面

  ./shutdown.sh表示关闭服务器

  注意:由于Mac是Unix,同Linux一样1024以下端口是没有监听权限的,当将Tomcat设置为默认80端口是无法响应的

 2 设置默认80端口 

mac下8080端口到80端口的转发
   MAC OS 本质上还是 Unix 系统, Unix 系统大多默认情况下非root用户是无法使用小于1024的常用端口的.这时候如果你开发中需要在普通用户下用到80端口, 比如       tomcat, 比如 vitualbox 下构建了一个 http 服务, 若你想直接通过 浏览器的 localhost 访问的话(不用加上莫名其妙的”:端口”的话)你就需要做一些系统端口转发的工作.

MAC OS 10.10 上 pfctl 就可以做这一件事情, 详情请参见

1、创建文件 :

sudo vim /etc/pf.anchors/eclipse.tomcat.forwarding

文件内容 :

rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8080
rdr pass on lo0 inet proto tcp from any to 127.0.0.1 port 443 -> 127.0.0.1 port 8443
2、创建文件 :

sudo vim /etc/pf-tomcat.conf
文件内容 :

rdr-anchor "forwarding"
load anchor "forwarding"from "/etc/pf.anchors/eclipse.tomcat.forwarding"
3、启动
sudo pfctl -ef /etc/pf-tomcat.conf
执行结果
复制代码
root@ymdeMacBook-Air etc# sudo pfctl -ef /etc/pf-tomcat.conf
pfctl: Use of -f option, could result in flushing of rules
present in the main ruleset added by the system at startup.
See /etc/pf.conf for further details.

No ALTQ support in kernel
ALTQ related functions disabled
pf enabled 
复制代码
假设你的工程 http://localhost/myDemo.html 这时访问你的web工程, 你会发现 http://localhost/myDemo.html 这个不需要8080端口即可访问,加上 http://localhost:8080/myDemo.html 访问不了。

4、关闭
sudo pfctl -d
执行结果
root@ymdeMacBook-Air etc# sudo pfctl -d
No ALTQ support in kernel
ALTQ related functions disabled
pf disabled
这时你访问你的web工程, 你会发现 http://localhost/myDemo.html 这个访问不了,加上 http://localhost:8080/myDemo.html 即可访问。

或者全部关闭
pfctl -F all -f /etc/pf.conf

然并卵 本人依然无法使用80端口 localhost显示 it works 是Apache服务器使用着

输入以下代码 查看80端口的占用情况

  1. ~$ lsof -i:
  1. SiegdeMacBook-Pro:bin Sieg$ lsof -i:
  2. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  3. Google Sieg 63u IPv4 0x2fa1ca9090a3144f 0t0 TCP 192.168.1.101:->47.95.49.160:http (ESTABLISHED)
  4. Google Sieg 64u IPv4 0x2fa1ca909bced777 0t0 TCP 192.168.1.101:->117.122.217.19:http (ESTABLISHED)
  5. Google Sieg 95u IPv4 0x2fa1ca90883bd777 0t0 TCP 192.168.1.101:->117.122.217.19:http (ESTABLISHED)
  6. Google Sieg 124u IPv4 0x2fa1ca90883b9777 0t0 TCP 192.168.1.101:->58.218.215.168:http (ESTABLISHED)
  7. Google Sieg 133u IPv4 0x2fa1ca9090a2f06f 0t0 TCP 192.168.1.101:->58.218.215.161:http (ESTABLISHED)
  8. Google Sieg 134u IPv4 0x2fa1ca90909d544f 0t0 TCP 192.168.1.101:->58.218.215.161:http (ESTABLISHED)
  9. Google Sieg 136u IPv4 0x2fa1ca90883f344f 0t0 TCP 192.168.1.101:->101.201.169.146:http (ESTABLISHED)
  10. Google Sieg 137u IPv4 0x2fa1ca909bd94777 0t0 TCP 192.168.1.101:->47.95.49.160:http (ESTABLISHED)
  11. Google Sieg 142u IPv4 0x2fa1ca909c2ba967 0t0 TCP 192.168.1.101:->47.95.49.160:http (ESTABLISHED)
  12. Google Sieg 145u IPv4 0x2fa1ca909bd69e7f 0t0 TCP 192.168.1.101:->58.218.215.161:http (ESTABLISHED)
  13. Google Sieg 151u IPv4 0x2fa1ca909c230777 0t0 TCP 192.168.1.101:->117.122.217.6:http (ESTABLISHED)
  14. Google Sieg 152u IPv4 0x2fa1ca90909d144f 0t0 TCP 192.168.1.101:->117.122.217.6:http (ESTABLISHED)
  15. Google Sieg 153u IPv4 0x2fa1ca909bd7306f 0t0 TCP 192.168.1.101:->117.122.217.6:http (ESTABLISHED)
  16. Google Sieg 159u IPv4 0x2fa1ca909bda844f 0t0 TCP 192.168.1.101:->117.122.217.6:http (ESTABLISHED)
  17. Google Sieg 174u IPv4 0x2fa1ca9090eebe7f 0t0 TCP 192.168.1.101:->58.218.215.161:http (ESTABLISHED)
  18. Google Sieg 185u IPv4 0x2fa1ca909bd20b57 0t0 TCP 192.168.1.101:->124.14.23.249:http (ESTABLISHED)
  19. Google Sieg 186u IPv4 0x2fa1ca9090eaf25f 0t0 TCP 192.168.1.101:->124.14.23.249:http (ESTABLISHED)
  20. Google Sieg 187u IPv4 0x2fa1ca909bd70b57 0t0 TCP 192.168.1.101:->124.14.23.249:http (ESTABLISHED)
  21. Google Sieg 188u IPv4 0x2fa1ca909bdb0e7f 0t0 TCP 192.168.1.101:->61.135.186.152:http (CLOSE_WAIT)
  22. Google Sieg 189u IPv4 0x2fa1ca909bd13b57 0t0 TCP 192.168.1.101:->61.135.162.115:http (CLOSE_WAIT)
  23. Google Sieg 192u IPv4 0x2fa1ca908834125f 0t0 TCP 192.168.1.101:->117.122.217.6:http (ESTABLISHED)
  24. Google Sieg 193u IPv4 0x2fa1ca909be1644f 0t0 TCP 192.168.1.101:->58.218.215.161:http (ESTABLISHED)
  25. Google Sieg 194u IPv4 0x2fa1ca9090a38b57 0t0 TCP 192.168.1.101:->124.14.23.249:http (ESTABLISHED)
  26. Google Sieg 201u IPv4 0x2fa1ca909bd19777 0t0 TCP 192.168.1.101:->58.218.215.168:http (ESTABLISHED)
  27. Google Sieg 206u IPv4 0x2fa1ca909bd2c25f 0t0 TCP 192.168.1.101:->117.122.217.6:http (ESTABLISHED)
  28. Google Sieg 239u IPv4 0x2fa1ca9090ef106f 0t0 TCP 192.168.1.101:->124.14.14.215:http (ESTABLISHED)
  29. lantern Sieg 37u IPv4 0x2fa1ca909c22a25f 0t0 TCP 192.168.1.101:->a23---.deploy.static.akamaitechnologies.com:http (ESTABLISHED)
  30. lantern Sieg 42u IPv4 0x2fa1ca909c0de44f 0t0 TCP 192.168.1.101:->a23---.deploy.static.akamaitechnologies.com:http (ESTABLISHED)
  31. lantern Sieg 47u IPv4 0x2fa1ca9090ef4777 0t0 TCP 192.168.1.101:->101.201.170.241:http (ESTABLISHED)
  • 笔者关闭了lantern 并关闭了Apache服务器

关闭Apache

  1. ~$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

启动Apache

  1. ~$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
  • 关闭Apache之后,查看80端口 现在已经没有占用情况了

重新设置80端口转发

  1. ~$ sudo pfctl -ef /etc/pf-tomcat.conf

再去浏览器输入localhost看看

成功了!!!

Mac下Tomcat安装&配置&80默认端口设置的更多相关文章

  1. Mac下Tomcat安装与Intellij IDEA配置Tomcat

    Mac下Tomcat安装与Intellij IDEA配置Tomcat 一 安装 1 下载地址:https://tomcat.apache.org/download-90.cgi 2 将压缩包解压后移至 ...

  2. Linux系统下tomcat安装配置

    Linux系统中Tomcat的安装配置. 前提JDK已经安装好. 安装 下载tomcatwget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.0 ...

  3. Linux下Tomcat安装配置

    买了台阿里云服务器,因为配置比较低,所以用Linux系统,这里记录一下我在Linux系统中Tomcat的安装配置. 前提JDK已经安装好. 安装 首先在/usr/local/下建立一个tomcat的文 ...

  4. webpack4.0在Mac下的安装配置及踩到的坑

    一.什么是webpack是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源.它做的事情是,分析你的项目结构,找到JavaScript模块以 ...

  5. Apache Spark 1.6 Hadoop 2.6 Mac下单机安装配置

    一. 下载资料 1. JDK 1.6 + 2. Scala 2.10.4 3. Hadoop 2.6.4 4. Spark 1.6 二.预先安装 1. 安装JDK 2. 安装Scala 2.10.4 ...

  6. mac下fiddler安装配置启动及iphone配置连接

    Getting started 下载安装Mono 如果没有下载则下载:https://www.mono-project.com/download/stable/#download-mac 从Mozil ...

  7. Mac下JDK安装配置

    首先可以通过官网下载JDK:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html,至于下什么版本根 ...

  8. Mac下如何安装配置Homebrew

    Last login: Mon Aug 7 13:57:29 on consolexiashenbindeMacBook-Pro:~ xiashenbin$ ruby -e "$(curl ...

  9. VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)

    首先启动Nginx 1. 相关浏览 两个 Tomcat 配置:  VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二) Nginx 安装配置启动: VMware Linu ...

随机推荐

  1. 在win下开发的项目怎么迁移到linux下面才能正常运行?

    我可以直接拷贝项目目录到linux下面直接操作吗? 答案: 可以,咋可能??? 为啥??? win开发直接拷贝过去,你不凉谁凉了,我以前也同样的单纯,如果你项目里用的绝对路径! 那恭喜你,你凉了,清楚 ...

  2. sleep(0)、usleep(0)与sched_yield() 调度

    结论: 如果你是为了耗掉一个机器周期 ,那直接asm ("nop") , 如果是为了让权,建议把 所有使用 usleep(0)  换成 sched_yield() ; 最近发现很多 ...

  3. vue-slick 插件配置

    autoplay 布尔值 false 自动播放 autoplaySpeed 整数 3000 自动播放间隔 centerMode 布尔值 false 中心模式 centerPadding 字符串 ’50 ...

  4. IntelliJ IDEA热部署插件JRebel免费激活图文教程(持续更新)转载

    之前教了大家如何免费激活IDEA,大家学会了吗?今天再来教大家如何免费激活JRebel插件,实现真正的热部署,无论是改了代码片段还是配置文件,都可以做到不用重新启动就生效,这种酸爽,谁用谁知道! 这次 ...

  5. Linux Centos7 离线安装docker 【官网翻译和注释】

    Centos7的Docker安装 需要一个维护版本的centos7,所以6不行. 卸载旧版本 旧版本的docker被称为 docker or docker-engine 如果存在请删除它们. sudo ...

  6. go module 设置

    国内无法获取被墙的go module,解决方法,设置环境变量 GO111MODULE=on goproxy=https://goproxy.io

  7. PHP中RabbitMQ之phpAmqplib实现(五

    本章讲诉如何使用php-amqplib实现RabbitMQ. 环境:CoentOS,PHP 7 简单介绍一下php-amqplib php-amqplib是Advanced Message Queui ...

  8. Spring OAuth2 Could not decode JSON for additional information: BaseClientDetails

    错误消息: 2019-10-08 14:48:16.703 WARN o.s.s.o.p.c.JdbcClientDetailsService : Could not decode JSON for ...

  9. Django:中间件与csrf

    一.中间件 什么是中间件 中间件有什么用 自定义中间件 中间件应用场景 二.csrf csrf token跨站请求伪造 一.中间件 什么是中间件 中间件顾名思义,是介于request与response ...

  10. 洛谷P2341 [HAOI2006]受欢迎的牛 (Tarjan,SCC缩点)

    P2341 [HAOI2006]受欢迎的牛|[模板]强连通分量 https://www.luogu.org/problem/P2341 题目描述 每头奶牛都梦想成为牛棚里的明星.被所有奶牛喜欢的奶牛就 ...