由于项目本身的原因,开发必须使用80端口实现,而在Unix内核中非Root用户无法直接使用1024以下的端口,最初作者找到了pfctl的方式实现80端口转发到8080端口实现访问,经过亲测出现了最为严重的问题,按照当时的方法配置好之后发现本机Mac通过localhost/<项目名>和127.0.0.1/<项目名>可以访问,此时很是兴奋,但出现了最根本的问题,那就是同局域网内其他机器通过访问IP地址/<项目名>(例如:IP地址是192.168.0.106,那么其他机器访问192.168.0.106/<项目名>)却访问不到,本来就是为了实现同网段开发和测试并行,结果其他机器却无法访问意味着这一次的搬砖是竹篮打水。
后来作者就利用Nginx进行80端口转发到Tomcat的8080端口实现访问,作者亲测果然好使,好了废话不多说了,干货走起来~~下面就是详细的配置步骤:

环境
Mac OS版本: 10.12.6
Nginx版本: 1.12.1
安装
作者使用Homebrew安装库
brew search nginx brew install nginx
这样安装好之后你会发现nginx的监听端口是8080,并非80,那么此时你就需要更改Nginx的监听端口,那么这一步就很关键了,不能按照以往传统的方式去更改,读者请仔细看一下部分。
由于Mac OS是自带Apache服务的,它本身占用了80端口,首先你需要将Apache的监听端口改为其他或者直接将其卸载,作者是改掉它的监听端口为8011。
命令行
sudo vim /etc/apache2/httpd.conf
图片中红色框打开原本是80端口,作者已将其改为8011。
apache_conf.png
改动之后,将其重启 sudo /usr/sbin/apachectl restart
到这里,你已经将80端口释放掉了。
其次你需要了解的就是plist文件。plist就是property list format的意思,是苹果用来保存应用数据的格式,其实就是个xml。可以在/usr/local/opt/nginx 下找到nginx对应的plist文件,比如在作者电脑上是 homebrew.mxcl.nginx.plist 。
它的内容如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>homebrew.mxcl.nginx</string> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <false/> <key>ProgramArguments</key> <array> <string>/usr/local/opt/nginx/bin/nginx</string> <string>-g</string> <string>daemon off;</string> </array> <key>WorkingDirectory</key> <string>/usr/local</string> </dict> </plist>
需要把这个文件复制到 /Library/LaunchDaemons 下,如果是 ~/Library/LaunchAgents 也可以,但两者有区别。
前者是系统启动时启动,后者则是在用户登录时启动。 接着执行launchctl load -w,如下:
sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemons
sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
最后,重启你的机器,你会发现nginx在80端口启动了,试着通过http://localhost直接访问,若出现下边图片的显示则意味着你的Nginx的80端口已经配置完成,意味着你已经完成了六成的工作。
如果你Tomcat的端口是8080,此时你便要启动它,之所以在此时启动Tomcat是为了先让Tomcat占用8080端口,因为在后面配置Nginx转发时需要配置8080端口的转发,为了在那个时候不被Nginx抢先占用8080端口(这里也可以不启动Tomcat,只要你在配置好nginx转发配置后不要立刻启动nginx服务即可,因为启动它便直接占用8080端口实现转发,而这时其实你还未使用8080端口)导致Tomcat的启动的失败,因此可以先让Tomcat占用端口而后在进行Nginx对8080端口的映射转发。
此时你的Tomcat已经启动好了,此时我们开始配置Nginx的转发配置:
命令行
sudo vim /usr/local/etc/nginx/nginx.conf
你只需关心server节点内的配置即可
Nginx_conf.png
server下的结点:
listen:监听80端口
server_name:转发到哪个地址
proxy_pass:代理到哪个地址
这其中几项配置完毕,我们将Nginx重启(重启是需要切换到Nginx目录下的) sudo /usr/local/Cellar/nginx/1.12.1/bin/nginx -s reload
到这里所有的操作都已完毕,现在你和你同一网段下的其他伙伴就可以通过直接访问IP地址/<项目名> 访问你的Tomcat项目了。
相关命令操作 Apache命令
停止服务:sudo /usr/sbin/apachectl stop
开启服务:sudo /usr/sbin/apachectl start
重启服务:sudo /usr/sbin/apachectl restart
Nginx命令(需要在Nginx的目录下执行,目录:/usr/local/Cellar/nginx/1.12.1/bin/)
开启:sudo nginx
重启:sudo nginx -s reload
关闭
首先 ,查询nginx主进程号(带有master标识的进程):ps -ef|grep nginx
正常停止 sudo kill -QUIT 主进程号
快速停止 sudo kill -TERM 主进程号
# nginx端口转发
# mac
# nginx
# 端口转发的方法
# nginx如何配置同一个端口转发多个项目
# nginx实现数据库端口转发
# nginx进行端口转发的实现
# 使用Docker安装Nginx并配置端口转发问题及解决方法
# 使用Nginx实现端口转发TCP代理的实现示例
# Nginx服务器中配置非80端口的端口转发方法详解
# nginx通过四层代理实现端口转发的示例代码
# 重启
# 将其
# 好了
# 开原
# 你已经
# 你会发现
# 命令行
# 中非
# 先让
# 是个
# 如果你
# 竹篮打水
# 目录下
# 你就
# 说了
# 则是
# 你在
# 不多
# 只需
# 和你
相关文章:
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
建站为何优先选择香港服务器?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
黑客入侵网站服务器的常见手法有哪些?
公司网站的制作公司,企业网站制作基本流程有哪些?
c++ stringstream用法详解_c++字符串与数字转换利器
宝塔Windows建站如何避免显示默认IIS页面?
制作电商网页,电商供应链怎么做?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
网站制作知乎推荐,想做自己的网站用什么工具比较好?
如何使用Golang table-driven基准测试_多组数据测量函数效率
如何在IIS管理器中快速创建并配置网站?
网站制作价目表怎么做,珍爱网婚介费用多少?
宿州网站制作公司兴策,安徽省低保查询网站?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
已有域名如何快速搭建专属网站?
如何做静态网页,sublimetext3.0制作静态网页?
建站之星后台密码遗忘或太弱?如何重置与强化?
如何正确下载安装西数主机建站助手?
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
如何快速完成中国万网建站详细流程?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
如何通过wdcp面板快速创建网站?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
已有域名能否直接搭建网站?
如何通过PHP快速构建高效问答网站功能?
如何在IIS中新建站点并解决端口绑定冲突?
网站制作报价单模板图片,小松挖机官方网站报价?
岳西云建站教程与模板下载_一站式快速建站系统操作指南
太原网站制作公司有哪些,网约车营运证查询官网?
宝塔面板创建网站无法访问?如何快速排查修复?
如何获取PHP WAP自助建站系统源码?
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
魔方云NAT建站如何实现端口转发?
建站之星如何保障用户数据免受黑客入侵?
一键网站制作软件,义乌购一件代发流程?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
浅析上传头像示例及其注意事项
如何在云主机上快速搭建多站点网站?
香港服务器部署网站为何提示未备案?
如何在阿里云服务器自主搭建网站?
如何在云主机上快速搭建网站?
,sp开头的版面叫什么?
如何通过.red域名打造高辨识度品牌网站?
营销式网站制作方案,销售哪个网站招聘效果最好?
*请认真填写需求信息,我们会在24小时内与您取得联系。