nginx實現前後臺分離部署

2022-09-04 10:30:15 字數 2403 閱讀 5991

如標題所示,至於為什麼要前後臺分離部署,個人理解的原因有三

(一)   便於部署

前台**由nginx啟動,無需再做前後臺整合打包,節省公升級維護資源。

(二)   便於維護

由於前後臺分離而不是整合在乙個tomcat中執行,此時如果需要對前端**進行迭代部署時,僅需要對特定目錄下的前端**進行替換即可,無需前後臺整合打包後又再次部署。節省公升級維護資源。

(三)   解決跨域問題

首先我們一起理解一下什麼是跨域。

當兩個位址在協議、主機或者埠不一致的時候,即判定為跨域。

如:我在192.168.1.110上部署的前端** 需要向192.168.1.111的後台傳送請求,此時就會出現跨域問題。

那麼 nginx可以完美的解決此類問題,無論的內網跨域甚至是外網均可以正常訪問。

#user  nobody;

worker_processes  1;    #開啟niginx工作程序,一般幾個cup核心寫幾個

error_log  /usr/local/nginx/logs/error.log;

events {

worker_connections  1024;  #乙個程序能同時處理1024個請求

gzip on;        #開啟gzip壓縮

#設定需要壓縮的資料格式

gzip_vary on;

include       mime.types;

sendfile on;

keepalive_timeout 65;

types_hash_max_size 2048;

# 日誌配置

access_log /usr/local/nginx/access.log;

server {

listen       88;

server_name  relaxsystem.relax.com;   #注意這裡我該了下訪問網域名稱

charset utf-8;

root /usr/local/123; #前端**訪問路徑,

index index.html;

#定義index頁面

error_page 404          /index.html;

location ^~ /api/     #反向**通配所有的api介面

proxy_pass #訪問的後台

測試備份配置檔案:

檢視前端**放置路徑

a)    windows配置訪問驗證

訪問c:\windows\system32\drivers\etc 下開啟hosts檔案 加入

relaxsystem027.gnway.cc relaxsystem.relax.com

上面的配置資訊可以看到,我們用的192.168.1.119的前端**向192.168.1.60的後台傳送請求。所以我們

使用postman向relaxsystem.relax.com:10388傳送請求,並檢視內網60訪問的日誌資訊。

可以看到postman傳送成功且60的日誌有相關日誌資訊,說明由119前端向60的後台傳送的請求並得到相應的回執,這裡跨域的問題就完美解決了。

b)    驗證公升級

我們一起試試60對映後的外網ip看看是不是真的實現了跨域。

路由器將192.168.1.60的15587埠對映至外網,外網埠為1060

然後修改配置檔案

將之前的內網設定改為外網訪問

重啟nignx服務

再次傳送請求

後台採用外網訪問也是ok的。

a)    linux配置訪問驗證

內容參考windows下配置

驗證內容:略

nginx實現前後端分離

參考 路徑 nginx conf nginx.conf2.1 設定前端 位置location 2.2 配置後台請求攔截 後台跳轉 攔截所有前端 以 api 開始的請求 到 後端服務 http localhost 8080 backend project name api location api2....

前後臺登入模板分離

小問題 按照yii中文網搭建的登入模組中,出現了引入css檔案後無法在頁面顯示效果,由於在css檔案中標明子選擇器,在layout main.php中增加了div解決問題 1 單獨建立資料表,在backend和frontend中的models中分別建立loginform.php class admi...

前後臺分離 概念相關

js 包管理器 1 npm 2 bower 1 復用別人已經寫好的 2 管理包之間的依賴關係。js 語言,可以理解為一種規範 v8 直譯器吧,理解為 js 這門語言的具體實現 node 有直譯器還得有一票基礎的類庫吧,比如什麼內建物件啊模組啊,就好像瀏覽器有 v8 也有 bom 物件這些,node ...