本文小编为大家详细介绍“Mac中怎么使用Nginx实现80端口转发8080端口”,内容详细,步骤清晰,细节处理妥当,希望这篇“Mac中怎么使用Nginx实现80端口转发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 主进程号
读到这里,这篇“Mac中怎么使用Nginx实现80端口转发8080端口”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。