mac nginx 反向代理解決微信小程序端口問題

由于微信小程序請求地址中不支持端口號,所以當(dāng)服務(wù)器在本地運行測試的時候,需要使用代理來解決這個問題。

1. 反向代理

反向代理(Reverse Proxy)方式是指以代理服務(wù)器來 接受Internet上的連接請求,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給Internet上請求連接的客戶端,此時代理服務(wù)器對外就表現(xiàn)為一個服務(wù)器。

2. 運行服務(wù)器,如localhost:3000

運行客戶端,此時需要通過客戶端向服務(wù)端請求數(shù)據(jù),即需要解決請求地址不能帶端口號的問題

3. 下載nginx
//mac終端執(zhí)行下面命令(brew命令需單獨安裝)
brew  search nginx //搜索軟件
brew install nginx //安裝軟件
4. 運行nginx,直接使用nginx命令即可運行nginx服務(wù)器,在localhost:8080可以查看運行成功的界面。
5.由于nginx默認監(jiān)聽的是8080端口,所以需要更改nginx配置使得端口為80

5.1 mac自帶apache,占用了80端口

sudo vim /etc/apache2/httpd.conf  

編輯httpd.conf里的Listen:80更改為其他端口


apache更改端口

5.2重啟apache,確認80端口已釋放

//重啟
sudo /usr/sbin/apachectl restart

5.3更改nginx配置,使得其監(jiān)聽端口為80,轉(zhuǎn)發(fā)地址為服務(wù)器地址即localhost:3000

//編輯nginx.conf文件
vi /usr/local/etc/nginx/nginx.conf

輸入i進行編輯,在http模塊內(nèi)更改端口和地址

nginx端口更改

  • listen由8080改為80
  • server_name 可使用localhost或自己>- 定義主機名(需在hosts文件中配置)
  • 將多余的代碼注釋掉
  • 在location里增加轉(zhuǎn)發(fā)地址

esc退出編輯,輸入:wq保存并退出。
重新啟動nginx

sudo nginx -s reload

5.5 由于在Unix內(nèi)核中非Root用戶無法直接使用1024以下的端口,所以此時的80端口仍然是無效的,命令行中會提示不允許。
在/usr/local/opt/nginx 下找到nginx對應(yīng)的plist文件,把這個文件復(fù)制到 /Library/LaunchDaemons 下

sudo cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist /Library/LaunchDaemons

運行此文件

sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

重啟計算機,即可直接通過localhost(你自己設(shè)置的server_name)來訪問服務(wù)器的數(shù)據(jù)了。

主要參考
搭建mac環(huán)境微信小程序的本地測試服務(wù)器
解決不支持80端口的問題和nginx配置中遇到的問題

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容