中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何部署前后端分離式nginx

發布時間:2022-05-21 10:12:19 來源:億速云 閱讀:155 作者:zzz 欄目:大數據

這篇“如何部署前后端分離式nginx”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“如何部署前后端分離式nginx”文章吧。

需求分析

先來一波需求分析。

  • 單項目

    • 單項目指的是一臺服務器部署一個前端服務,使www.xxx.com => index.html的單一指向。

  • 多項目

    • 多項目指的是一臺服務器部署多個前端服務,使www.xxx.com/a => a.html,www.xxx.com/b => b.html等多指向。

  • 請求代理。

  • cookie domain重寫。

  • cookie path 重寫。

提示:這里做好寫conf.d/*.conf,這樣配置可以分離處理。

公共配置

server{
 listen 80; # 配置端口
 server_name _; # 配置域名
 charset utf-8; # 編碼
 access_log /xxx/log/nginx_access.log main; # 成功日志
 error_log /xxx/log/nginx_error.log error; # 錯誤日志
 index index.html; # 查找文件順序
 set $root /xxx/nginx/; # 變量設置,設置公共路徑
 
 # 其余location
}

請手動去/xxx/log/nginx_access.log和/xxx/log/nginx_error.log下新建對應文件。可能會執行nginx reload第一次執行時會報錯。

set的$root路徑為絕對路徑,access_log和error_log同樣都是絕對路徑。

單項目配置

目錄結構

nginx
|----- index.html
|----- user.html

location配置

location / {
	root $root;
}

好了最簡單的基于根路徑配置就這樣好了,這里無非是通過location配置一條路徑,然后指向到$root文件夾下的index.html這個文件下。

多項目配置

目錄結構

nginx
|----- a
    |----- index.html
|----- b
    |----- index.html

多條location配置

location ^~ /a {
  alias $root/a;
}

location ^~ /b {
  alias $root/b;
}

location / {
  root $root;
}

跟單項目唯一的不同點在于,root和alias的區別,root指的是文件的絕對匹配路徑,而alias則是相對匹配。root可以再http、server、location中配置,而alias只能在location中配置。這我還加入的正則^~,當匹配/a或者/b時,不管location的路徑是什么,資源的真實路徑一定是都是 alias 指定的路徑。這樣的我就能讓/a、/b擁有匹配的到路徑之后,擁有跳轉固定路徑,這在spa式的前端項目非常有用的,因為其實核心文件只有一個index.html文件(資源文件另說)。這樣我永遠跳轉index.html就能保證瀏覽器手動刷新的時候,不會根據root路徑去查找服務器其他路徑的資源。然后設置spa的根路徑和 /b必須是匹配的。

為什么會有這種需求?前端是輕便的,我們為了達到節約服務器與聚合同類型業務的時候,就會使用到這種機制。就像希望admin.xxxx.com/a => 運營管理臺、admin.xxxx.com/b => erp管理臺一樣。所有admin這個域名下我們只要切出子路徑即可。簡單輕便。

請求轉發

location ^~ /api {
  proxy_pass http://api.xxx.com/;
}

這里就特別簡單了,我通過正則匹配/api這個請求,通過proxy_pass屬性,將請求定向到。即可

修改cookie domain

有時候處于安全考慮,我們會設置一定的cookie的domain屬性這是對于nginx轉發來說就很不友好了。當然也是有解決手段的,也很簡單。

location {
  proxy_cookie_domain <本域的domain> <想修改的domain>;
}

修改cookie path

當我們轉發回api接口時,有時候api域名拿不到cookie,除了domain還有cookie path的可能性。當然解決方案也很簡單

location {
  proxy_cookie_path <本域的路徑> <想修改的路徑>;
}

后續優化

這只是nginx配置最簡單的一個例子,還有,開啟gzip、緩存設置、合并資源請求的插件、設置50x,40x頁面、判斷移動端,pc端跳轉等配置,nginx還是很強大的。

以上就是關于“如何部署前后端分離式nginx”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

壶关县| 浏阳市| 类乌齐县| 灵寿县| 朝阳县| 连山| 泸西县| 镇远县| 灵宝市| 乐清市| 象山县| 沛县| 图木舒克市| 和田市| 澎湖县| 成武县| 城固县| 茂名市| 澜沧| 衢州市| 广汉市| 和政县| 肇州县| 襄城县| 遂溪县| 水城县| 阿瓦提县| 读书| 阿拉尔市| 车致| 上犹县| 乾安县| 灵武市| 酉阳| 乃东县| 广河县| 彭阳县| 昌宁县| 犍为县| 青冈县| 台江县|