本文小編為大家詳細介紹“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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。