nginx實現先後臺分離部署

2.1         先後臺分離部署

(一)       組網圖

 

(二)       簡要說明:

如標題所示,至於爲何要先後臺分離部署,我的理解的緣由有三javascript

(一)   便於部署css

前臺代碼由nginx啓動,無需再作先後臺集成打包,節省升級維護資源。html

(二)   便於維護前端

因爲先後臺分離而不是集成在一個tomcat中運行,此時若是須要對前端代碼進行迭代部署時,僅須要對特定目錄下的前端代碼進行替換便可,無需先後臺集成打包後又再次部署。節省升級維護資源。java

(三)   解決跨域問題nginx

首先咱們一塊兒理解一下什麼是跨域。json

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

若是有興趣的朋友能夠查看附件連接查看詳解資料。api

如:我在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下配置

驗證內容:略

相關文章
相關標籤/搜索