首頁 >運維 >Nginx >Mac中怎麼使用Nginx實現80埠轉送8080埠

Mac中怎麼使用Nginx實現80埠轉送8080埠

WBOY
WBOY轉載
2023-05-11 21:49:161714瀏覽

環境

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。 Mac中怎麼使用Nginx實現80埠轉送8080埠

命令列


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 。 Mac中怎麼使用Nginx實現80埠轉送8080埠它的內容如下:

<?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埠已經配置完成,代表你已經完成了六成的工作。 <br>

如果你tomcat的連接埠是8080,此時你便要啟動它,之所以在此時啟動tomcat是為了先讓tomcat佔用8080端口,因為在後面配置nginx轉發時需要配置8080端口的轉發,為了在那個時候不被nginx搶先佔用8080端口(這裡也可以不啟動tomcat,只要你在配置好nginx轉發配置後不要立刻啟動nginx服務即可,因為啟動它便直接佔用8080端口實現轉發,而這時其實你還未使用8080端口)導致tomcat的啟動的失敗,因此可以先讓tomcat佔用端口而後在進行nginx對8080端口的映射轉發。 Mac中怎麼使用Nginx實現80埠轉送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埠的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除