中介軟體-Nginx

沐兮sc發表於2024-07-03
一、nginx反向代理
輸入 http://xxx.com/plat/login
跳轉:
http://localhost:8383/plat/login
將某個指定的域名代理到指定的服務
http://xxx.com 轉 http://localhost:8383
1.修改hosts檔案
C:\Windows\System32\drivers\etc
hosts檔案 最後一行加上 127.0.0.1 xxx.com
這樣就將xxx.com直接解析到127.0.0.1
2.修改nginx.conf
需下載安裝nginx,windows下安裝
設定負載均衡,下面跳轉路徑指向這裡:
upstream server-lb {
server 127.0.0.1:8383;
#server 127.0.0.1:8181;
}
server {
listen 80;
server_name 127.0.0.1;
location / {
#proxy_pass http://127.0.0.1:8383;
proxy_pass http://server-lb;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
index index.html index.htm;
}
}
---》監聽本地127.0.0.1:80的請求,代理到127.0.0.1:8383服務
nginx命令:
start nginx 啟動
nginx -s stop 停止
修改配置檔案後:
nginx -s reload
3.原理
我們將xxx.com解析到了127.0.0.1,所以當我們訪問xxx.com的時候,相當於訪問了127.0.0.1:80,
此時被nginx伺服器處理,請求被代理到127.0.0.1:8383
二、linux環境,nginx配置和生效
1.檢視配置
/nginx/conf/conf.d/ 下
cat nginx.conf
2.修改完配置,重啟nginx,不需要重啟服務
./nginx -s reload
這裡是linux系統的命令,和win系統不一樣
3.檢視代理日誌
/nginx/logs/ 下
三、windowns環境下,用nginx部署前端程式碼
1.nginx.exe在的資料夾下cmd
2.開啟啟動nginx
start nginx.exe 如果要關閉,則直接:nginx.exe -s stop
nginx.exe 會一直開啟著,如果要關閉,則需要殺死程序:taskkill xxxx,但是如果啟動失敗則可以看到報錯資訊
3.關閉nginx
nginx.exe -s stop
taskkill /fi "imagename eq nginx.EXE" /f
4. 訪問地址:http://localhost:9100/xxx/index
補充:
(1)讀取/conf/nginx.conf配置檔案,因為該配置檔案中include xxx..conf 即另外自定義的配置檔案,所以會一起讀取自定義的xxx..conf中的配置

(2)自定義的xxx.conf配置檔案
配置埠號和訪問內容

(3)啟動報錯:
a.埠號被佔用

排查問題:
查詢所有被佔用的埠號:netstat -ano
查詢被佔用的8500埠號:netstat -ano | findstr “8500”

開啟工作管理員:

b.亂碼
配置檔案中含有中文,這時去修改配置檔案後,可能會亂碼

解決:

相關文章