欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mac中使用Nginx實(shí)現(xiàn)80端口轉(zhuǎn)發(fā)8080端口

 更新時間:2017年09月26日 08:50:26   作者:Mr小智  
端口轉(zhuǎn)發(fā)(Port forwarding),有時被叫做隧道,是安全殼(SSH) 為網(wǎng)絡(luò)安全通信使用的一種方法。端口轉(zhuǎn)發(fā)是轉(zhuǎn)發(fā)一個網(wǎng)絡(luò)端口從一個網(wǎng)絡(luò)節(jié)點(diǎn)到另一個網(wǎng)絡(luò)節(jié)點(diǎn)的行為,其使一個外部用戶從外部經(jīng)過一個被激活的NAT路由器到達(dá)一個在私有內(nèi)部IP地址(局域網(wǎng)內(nèi)部)上的一個端口

由于項(xiàng)目本身的原因,開發(fā)必須使用80端口實(shí)現(xiàn),而在Unix內(nèi)核中非Root用戶無法直接使用1024以下的端口,最初作者找到了pfctl的方式實(shí)現(xiàn)80端口轉(zhuǎn)發(fā)到8080端口實(shí)現(xiàn)訪問,經(jīng)過親測出現(xiàn)了最為嚴(yán)重的問題,按照當(dāng)時的方法配置好之后發(fā)現(xiàn)本機(jī)Mac通過localhost/<項(xiàng)目名>和127.0.0.1/<項(xiàng)目名>可以訪問,此時很是興奮,但出現(xiàn)了最根本的問題,那就是同局域網(wǎng)內(nèi)其他機(jī)器通過訪問IP地址/<項(xiàng)目名>(例如:IP地址是192.168.0.106,那么其他機(jī)器訪問192.168.0.106/<項(xiàng)目名>)卻訪問不到,本來就是為了實(shí)現(xiàn)同網(wǎng)段開發(fā)和測試并行,結(jié)果其他機(jī)器卻無法訪問意味著這一次的搬磚是竹籃打水。
后來作者就利用Nginx進(jìn)行80端口轉(zhuǎn)發(fā)到Tomcat的8080端口實(shí)現(xiàn)訪問,作者親測果然好使,好了廢話不多說了,干貨走起來~~下面就是詳細(xì)的配置步驟:

環(huán)境

Mac OS版本: 10.12.6
Nginx版本: 1.12.1

安裝

作者使用Homebrew安裝庫

brew search nginx
brew install nginx

這樣安裝好之后你會發(fā)現(xiàn)nginx的監(jiān)聽端口是8080,并非80,那么此時你就需要更改Nginx的監(jiān)聽端口,那么這一步就很關(guān)鍵了,不能按照以往傳統(tǒng)的方式去更改,讀者請仔細(xì)看一下部分。
由于Mac OS是自帶Apache服務(wù)的,它本身占用了80端口,首先你需要將Apache的監(jiān)聽端口改為其他或者直接將其卸載,作者是改掉它的監(jiān)聽端口為8011。

命令行

sudo vim /etc/apache2/httpd.conf

圖片中紅色框打開原本是80端口,作者已將其改為8011。


apache_conf.png

改動之后,將其重啟 sudo /usr/sbin/apachectl restart
到這里,你已經(jīng)將80端口釋放掉了。

其次你需要了解的就是plist文件。plist就是property list format的意思,是蘋果用來保存應(yīng)用數(shù)據(jù)的格式,其實(shí)就是個xml??梢栽?usr/local/opt/nginx 下找到nginx對應(yīng)的plist文件,比如在作者電腦上是 homebrew.mxcl.nginx.plist 。
它的內(nèi)容如下:

<?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>

需要把這個文件復(fù)制到 /Library/LaunchDaemons 下,如果是 ~/Library/LaunchAgents 也可以,但兩者有區(qū)別。
前者是系統(tǒng)啟動時啟動,后者則是在用戶登錄時啟動。 接著執(zhí)行l(wèi)aunchctl load -w,如下:

sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemons
sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

最后,重啟你的機(jī)器,你會發(fā)現(xiàn)nginx在80端口啟動了,試著通過http://localhost直接訪問,若出現(xiàn)下邊圖片的顯示則意味著你的Nginx的80端口已經(jīng)配置完成,意味著你已經(jīng)完成了六成的工作。


如果你Tomcat的端口是8080,此時你便要啟動它,之所以在此時啟動Tomcat是為了先讓Tomcat占用8080端口,因?yàn)樵诤竺媾渲肗ginx轉(zhuǎn)發(fā)時需要配置8080端口的轉(zhuǎn)發(fā),為了在那個時候不被Nginx搶先占用8080端口(這里也可以不啟動Tomcat,只要你在配置好nginx轉(zhuǎn)發(fā)配置后不要立刻啟動nginx服務(wù)即可,因?yàn)閱铀阒苯诱加?080端口實(shí)現(xiàn)轉(zhuǎn)發(fā),而這時其實(shí)你還未使用8080端口)導(dǎo)致Tomcat的啟動的失敗,因此可以先讓Tomcat占用端口而后在進(jìn)行Nginx對8080端口的映射轉(zhuǎn)發(fā)。
此時你的Tomcat已經(jīng)啟動好了,此時我們開始配置Nginx的轉(zhuǎn)發(fā)配置:

命令行

sudo vim /usr/local/etc/nginx/nginx.conf

你只需關(guān)心server節(jié)點(diǎn)內(nèi)的配置即可


Nginx_conf.png

server下的結(jié)點(diǎn):

listen:監(jiān)聽80端口
server_name:轉(zhuǎn)發(fā)到哪個地址
proxy_pass:代理到哪個地址

這其中幾項(xiàng)配置完畢,我們將Nginx重啟(重啟是需要切換到Nginx目錄下的) sudo /usr/local/Cellar/nginx/1.12.1/bin/nginx -s reload

到這里所有的操作都已完畢,現(xiàn)在你和你同一網(wǎng)段下的其他伙伴就可以通過直接訪問IP地址/<項(xiàng)目名> 訪問你的Tomcat項(xiàng)目了。

相關(guān)命令操作 Apache命令

停止服務(wù):sudo /usr/sbin/apachectl stop
開啟服務(wù):sudo /usr/sbin/apachectl start
重啟服務(wù):sudo /usr/sbin/apachectl restart

Nginx命令(需要在Nginx的目錄下執(zhí)行,目錄:/usr/local/Cellar/nginx/1.12.1/bin/)

開啟:sudo nginx
重啟:sudo nginx -s reload
關(guān)閉
首先 ,查詢nginx主進(jìn)程號(帶有master標(biāo)識的進(jìn)程):ps -ef|grep nginx
正常停止 sudo kill -QUIT 主進(jìn)程號
快速停止 sudo kill -TERM 主進(jìn)程號

相關(guān)文章

  • nginx部署到服務(wù)器后文件上傳提示405

    nginx部署到服務(wù)器后文件上傳提示405

    使用nginx部署到服務(wù)器后,本地訪問服務(wù)器地址,上傳文件提示:405 Not Allowed,本文就來解決一下該問題,感興趣的可以了解一下
    2023-10-10
  • Nginx gateway集群和動態(tài)網(wǎng)關(guān)的實(shí)現(xiàn)思路

    Nginx gateway集群和動態(tài)網(wǎng)關(guān)的實(shí)現(xiàn)思路

    這篇文章主要介紹了Nginx gateway集群和動態(tài)網(wǎng)關(guān),動態(tài)網(wǎng)關(guān)即任何配置都實(shí)現(xiàn)不用重啟網(wǎng)關(guān)服務(wù)器都可以及時刷新,對Nginx gateway集群相關(guān)知識感興趣的朋友一起看看吧
    2022-10-10
  • Nginx session丟失問題處理解決方法

    Nginx session丟失問題處理解決方法

    這篇文章主要介紹了Nginx session丟失問題處理解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 使用Nginx代理MySQL連接并限制可訪問IP配置

    使用Nginx代理MySQL連接并限制可訪問IP配置

    這篇文章主要為大家介紹了如何使用Nginx代理MySQL連接并限制可訪問IP配置示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • nginx代理的緩存配置

    nginx代理的緩存配置

    代理緩存能夠有效提高網(wǎng)站訪問速度和服務(wù)器性能,本文詳細(xì)介紹了使用nginx的ngx_http_proxy_module模塊配置代理緩存,包括設(shè)置緩存路徑、配置代理服務(wù)等,感興趣的可以了解一下
    2024-09-09
  • Nginx更改conf配置文件的代碼詳解

    Nginx更改conf配置文件的代碼詳解

    本文主要介紹了Nginx如何更改conf配置文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起來學(xué)習(xí)吧
    2024-02-02
  • Nginx limit 限制訪問模塊的方法

    Nginx limit 限制訪問模塊的方法

    本篇文章主要介紹了Nginx limit 限制訪問模塊的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Nginx服務(wù)器屏蔽與禁止屏蔽網(wǎng)絡(luò)爬蟲的方法

    Nginx服務(wù)器屏蔽與禁止屏蔽網(wǎng)絡(luò)爬蟲的方法

    今天小編就為大家分享一篇關(guān)于Nginx服務(wù)器屏蔽與禁止屏蔽網(wǎng)絡(luò)爬蟲的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Nginx基于gzip壓縮提高訪問速度

    Nginx基于gzip壓縮提高訪問速度

    這篇文章主要介紹了Nginx基于gzip壓縮提高訪問速度,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • 詳解Nginx中基本的內(nèi)存池初始化配置

    詳解Nginx中基本的內(nèi)存池初始化配置

    Nginx由其自己實(shí)現(xiàn)的內(nèi)存池結(jié)構(gòu)對內(nèi)存進(jìn)行管理,這里我們就來詳解Nginx的基本內(nèi)存池初始化配置,需要的朋友可以參考下
    2016-07-07

最新評論