環境
mac os版本: 10.12.6
nginx版本:1.12.1
安裝
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埠已經配置完成,代表你已經完成了六成的工作。 <br>
如果你tomcat的連接埠是8080,此時你便要啟動它,之所以在此時啟動tomcat是為了先讓tomcat佔用8080端口,因為在後面配置nginx轉發時需要配置8080端口的轉發,為了在那個時候不被nginx搶先佔用8080端口(這裡也可以不啟動tomcat,只要你在配置好nginx轉發配置後不要立刻啟動nginx服務即可,因為啟動它便直接佔用8080端口實現轉發,而這時其實你還未使用8080端口)導致tomcat的啟動的失敗,因此可以先讓tomcat佔用端口而後在進行nginx對8080端口的映射轉發。 此時你的tomcat已經啟動好了,此時我們開始設定nginx的轉送設定:
命令列
server下的結點:
listen:監聽80埠
proxy_pass:代理到哪個位址
這其中幾項設定完畢,我們將nginx重啟(重啟是需要切換到nginx目錄下的) sudo /usr/local/cellar/nginx/1.12.1/bin/nginx -s reload
#到這裡所有的操作都已完畢,現在你和你同一網段下的其他夥伴就可以透過直接存取ip位址/ 存取你的tomcat專案了。
相關指令操作apache指令
以上是Mac中怎麼使用Nginx實現80埠轉送8080埠的詳細內容。更多資訊請關注PHP中文網其他相關文章!