nginx實現前后台分離部署


2.1         前后台分離部署

(一)       組網圖

 

(二)       簡要說明:

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

(一)   便於部署

前台代碼由nginx啟動,無需再做前后台集成打包,節省升級維護資源。

(二)   便於維護

由於前后台分離而不是集成在一個tomcat中運行,此時如果需要對前端代碼進行迭代部署時,僅需要對特定目錄下的前端代碼進行替換即可,無需前后台集成打包后又再次部署。節省升級維護資源。

(三)   解決跨域問題

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

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

如果有興趣的朋友可以查看附件鏈接查看詳解資料。

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

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

(三)       nginx配置

#user  nobody;

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

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

events {

    worker_connections  1024;  #一個進程能同時處理1024個請求

}

 

http {

        gzip on;        #開啟gzip壓縮

        gzip_min_length 1k;

        gzip_buffers 4 16k;

        gzip_http_version 1.0;

        gzip_comp_level 6;

        gzip_types text/plain text/css test/javascript application/json application/javascript application/x-javascript application/xml;

        #設置需要壓縮的數據格式

        gzip_vary on;

        include       mime.types;

        default_type  application/octet-stream;

        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 http://192.168.1.60:15587; #訪問的后台

        proxy_send_timeout 1800;

        proxy_read_timeout 1800;

        proxy_connect_timeout 1800;

        client_max_body_size 2048m;

        proxy_http_version 1.1;

        proxy_set_header Upgrade $http_upgrade;

        proxy_set_header Connection "Upgrade";

        proxy_set_header Host $http_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;

        }

}

測試備份配置文件:

 

查看前端代碼放置路徑

 

(四)       本地配置域名解析便於外網訪問

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配置訪問驗證

訪問編輯/etc/hosts

內容參考windows下配置

驗證內容:略


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM