最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

前后臺(tái)Nginx部署同域名路徑區(qū)分配置

 更新時(shí)間:2026年04月30日 09:47:55   作者:遇見火星  
前后臺(tái)共用一個(gè)域名部署時(shí),通過不同路徑區(qū)分靜態(tài)文件和API接口,適配VueRouter的歷史模式,保證頁面刷新和路由跳轉(zhuǎn)正常,配置Nginx時(shí)注意路徑匹配順序,前端配置路徑必須與Nginx配置一致,proxy_pass后綴不能刪,前后端路徑要對(duì)齊

這篇主要講的是,前后臺(tái)用同一個(gè)域名部署時(shí),怎么通過不同路徑來區(qū)分前臺(tái)、后臺(tái)的靜態(tài)文件,還有API,應(yīng)用程序編程接口)接口。另外也會(huì)適配Vue Router的history(歷史)模式,保證頁面刷新、路由跳轉(zhuǎn)都正常,不報(bào)錯(cuò)。

1 Nginx 核心配置

server {
    listen 80;
    server_name nature.us.com;  # 把這個(gè)改成你自己的域名
    root /usr/local/nginx/html;
    # 前臺(tái)靜態(tài)文件配置(訪問根路徑就是前臺(tái))
    location / {
        root /usr/local/nginx/html/client;  # 前臺(tái)文件存在這個(gè)文件夾里
        index index.html;
        try_files $uri $uri/ /index.html;  # 解決Vue Router的history(歷史)模式刷新404的問題
    }
    # 后臺(tái)靜態(tài)文件配置(訪問/manger路徑就是后臺(tái))
    location /manger {
        alias /usr/local/nginx/html/manger;  # 后臺(tái)文件存在這個(gè)文件夾里
        index index.html;
        try_files $uri $uri/ /manger/index.html;  # 后臺(tái)也解決Vue Router的history(歷史)模式刷新404的問題
    }
    # API(Application Programming Interface,應(yīng)用程序編程接口)請(qǐng)求代理(訪問/prod-api開頭的路徑,會(huì)轉(zhuǎn)發(fā)到后端)
    location /prod-api/ {
        proxy_pass http://localhost:8080/;  # 改成你自己的后端服務(wù)地址,末尾的/千萬別刪
        proxy_set_header Host $host;  # Host(主機(jī))請(qǐng)求頭設(shè)置
        proxy_set_header X-Real-IP $remote_addr;  # X-Real-IP(真實(shí)IP)請(qǐng)求頭設(shè)置
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  # X-Forwarded-For(轉(zhuǎn)發(fā)IP列表)請(qǐng)求頭設(shè)置
        proxy_set_header X-Forwarded-Proto $scheme;  # X-Forwarded-Proto(協(xié)議類型)請(qǐng)求頭設(shè)置
    }
}

2 Nginx 目錄結(jié)構(gòu)

下面是文件存放的目錄結(jié)構(gòu),一看就懂:

nginx:
└── html:
    ├── client:  # 前臺(tái)的靜態(tài)文件都放這里,訪問根路徑就找這個(gè)文件夾
    └── manger:  # 后臺(tái)的靜態(tài)文件都放這里,訪問/manger路徑就找這個(gè)文件夾

3 前端配置(Vue 項(xiàng)目)

3.1 后臺(tái)項(xiàng)目配置(訪問路徑帶/manger前綴)

1. vue.config.js 配置(給后臺(tái)路徑加個(gè)統(tǒng)一前綴/manger,和Nginx配置對(duì)應(yīng)上):

module.exports = {
  publicPath: "/manger", // 后臺(tái)所有路徑都加/manger前綴,和Nginx的/manger路徑匹配
}

2. router.js 配置(去掉URL(Uniform Resource Locator,統(tǒng)一資源定位符)里的#,設(shè)置基礎(chǔ)路徑):

export default new Router({
  base: "/manger",  // 基礎(chǔ)路徑和上面的publicPath一樣,都是/manger
  mode: "history",  // 去掉URL(Uniform Resource Locator,統(tǒng)一資源定位符)里的#,這個(gè)配置需要Nginx配合上面的try_files才能用
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRoutes,
});

3.2 前臺(tái)項(xiàng)目配置(API請(qǐng)求設(shè)置)

axios 配置(給API(Application Programming Interface,應(yīng)用程序編程接口)請(qǐng)求加個(gè)前綴/prod-api,和Nginx的代理路徑對(duì)應(yīng)):

import axios from 'axios'
// 創(chuàng)建axios實(shí)例,設(shè)置請(qǐng)求基礎(chǔ)路徑
export const request = axios.create({
  baseURL: "/prod-api",  // 所有API(Application Programming Interface,應(yīng)用程序編程接口)請(qǐng)求都帶/prod-api前綴,和Nginx的/prod-api路徑匹配
  timeout: 5000,  // 請(qǐng)求超時(shí)時(shí)間,5秒沒響應(yīng)就報(bào)錯(cuò)
  headers: {
    "Content-Type": "application/json",  // Content-Type(內(nèi)容類型)請(qǐng)求頭,設(shè)置為JSON格式
  },
});
// 請(qǐng)求攔截器(舉個(gè)例子:給請(qǐng)求加Token(令牌),實(shí)現(xiàn)登錄認(rèn)證)
request.interceptors.request.use(
  (config) => {
    const token = localStorage.getItem("token");  // 從localStorage(本地存儲(chǔ))拿Token(令牌)
    if (token) {
      config.headers.Authorization = ` ${token}`;  // 把Token(令牌)放到Authorization(授權(quán))請(qǐng)求頭里傳給后端
    }
    return config;
  },
  (error) => {
    return Promise.reject(error);  // Promise(承諾)是異步編程的解決方案,此處返回錯(cuò)誤信息
  }
);
export default request;

4 配置說明(關(guān)鍵注意點(diǎn),一定要看!)

  •  路徑匹配順序:Nginx是按location的配置順序來匹配路徑的,所以/manger(后臺(tái))和/prod-api(API,Application Programming Interface,應(yīng)用程序編程接口)的配置,一定要放在/(前臺(tái))的前面。不然所有請(qǐng)求都會(huì)被根路徑攔截,后臺(tái)和API(Application Programming Interface,應(yīng)用程序編程接口)就訪問不到了。
  •  Vue history模式刷新404 :之所以加try_files配置,就是為了解決刷新頁面報(bào)404的問題。前臺(tái)要配成/index.html,后臺(tái)要配成/manger/index.html,必須和前面設(shè)置的base路徑一致,不然沒用。這里的history指的是Vue Router的history(歷史)模式。
  •  proxy_pass末尾的/別刪:配置API(Application Programming Interface,應(yīng)用程序編程接口)代理時(shí),proxy_pass后面的地址(比如http://localhost:8080/),末尾的/一定要保留。如果刪掉,Nginx會(huì)把/prod-api這個(gè)前綴一起傳給后端,要是后端接口里沒有/prod-api,請(qǐng)求就會(huì)報(bào)錯(cuò)。
  •  前后端路徑要對(duì)齊:前端配置的publicPath、router.base,必須和Nginx里對(duì)應(yīng)的location路徑一致;axios的baseURL,也要和Nginx的API(Application Programming Interface,應(yīng)用程序編程接口)代理路徑一致。只要有一個(gè)對(duì)不上,就會(huì)出現(xiàn)訪問不到頁面、接口請(qǐng)求失敗的問題。

到此這篇關(guān)于前后臺(tái)Nginx部署同域名路徑區(qū)分配置的文章就介紹到這了,更多相關(guān)Nginx同域名路徑區(qū)分內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx 訪問 /root/下 403 Forbidden問題解決

    Nginx 訪問 /root/下 403 Forbidden問題解決

    在使用Nginx作為Web服務(wù)器時(shí),可能會(huì)遇到403 Forbidden錯(cuò)誤,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-05-05
  • Linux下yum安裝nginx教程

    Linux下yum安裝nginx教程

    這篇文章主要介紹了Linux下yum安裝nginx教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 負(fù)載均衡下的webshell上傳+nginx解析漏洞的過程

    負(fù)載均衡下的webshell上傳+nginx解析漏洞的過程

    這篇文章主要介紹了負(fù)載均衡下的webshell上傳+nginx解析漏洞,首先介紹了負(fù)載均衡下webshell上傳的四大難點(diǎn)及環(huán)境搭建教程,感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • nginx中return和rewrite指令同時(shí)存在先執(zhí)行順序哪個(gè)

    nginx中return和rewrite指令同時(shí)存在先執(zhí)行順序哪個(gè)

    在Nginx配置中,當(dāng)return和rewrite指令同時(shí)存在,其執(zhí)行順序取決于配置的具體場(chǎng)景,這篇文章主要介紹了nginx中return和rewrite指令同時(shí)存在先執(zhí)行順序哪個(gè),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • 利用nginx和騰訊云免費(fèi)證書制作https的方法

    利用nginx和騰訊云免費(fèi)證書制作https的方法

    這篇文章主要介紹了利用nginx和騰訊云免費(fèi)證書制作https的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • 常見的Nginx配置誤區(qū)

    常見的Nginx配置誤區(qū)

    對(duì)很多人而言,配置Nginx+PHP無外乎就是搜索一篇教程,然后拷貝粘貼。聽上去似乎也沒什么問題,可惜實(shí)際上網(wǎng)絡(luò)上很多資料本身年久失修,漏洞百出,如果大家不求甚解,一味的拷貝粘貼,早晚有一天會(huì)為此付出代價(jià)
    2014-03-03
  • CentOS 7.3.1611編譯安裝Nginx1.10.3+MySQL5.7.16+PHP7.1.2

    CentOS 7.3.1611編譯安裝Nginx1.10.3+MySQL5.7.16+PHP7.1.2

    這篇文章主要介紹了CentOS 7.3.1611編譯安裝Nginx1.10.3+MySQL5.7.16+PHP7.1.2,需要的朋友可以參考下
    2018-01-01
  • 詳解nginx使用ssl模塊配置HTTPS支持

    詳解nginx使用ssl模塊配置HTTPS支持

    本篇文章主要介紹了詳解nginx使用ssl模塊配置HTTPS支持 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • nginx配置前端請(qǐng)求轉(zhuǎn)發(fā)到指定的后端ip方式

    nginx配置前端請(qǐng)求轉(zhuǎn)發(fā)到指定的后端ip方式

    文章主要解釋了Nginx配置中如何通過location規(guī)則將前端靜態(tài)資源和后端接口請(qǐng)求進(jìn)行分流,并詳細(xì)描述了請(qǐng)求轉(zhuǎn)發(fā)到后端的具體過程,包括rewrite規(guī)則、代理協(xié)議設(shè)置、請(qǐng)求頭透?jìng)?、代理地址指定及失敗重試機(jī)制等
    2026-05-05
  • Nginx+Lua腳本+Redis 實(shí)現(xiàn)自動(dòng)封禁訪問頻率過高IP

    Nginx+Lua腳本+Redis 實(shí)現(xiàn)自動(dòng)封禁訪問頻率過高IP

    本文主要介紹了如何使用OpenResty+Lua進(jìn)行動(dòng)態(tài)封禁IP的解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10

最新評(píng)論

乃东县| 余江县| 哈尔滨市| 太原市| 宁晋县| 宁晋县| 油尖旺区| 茂名市| 唐山市| 米泉市| 炎陵县| 东明县| 宝坻区| 堆龙德庆县| 怀安县| 开封县| 含山县| 永城市| 洛宁县| 赤城县| 辽中县| 贵溪市| 湘西| 清水县| 南和县| 徐州市| 奎屯市| 枞阳县| 固镇县| 米脂县| 阿尔山市| 三门峡市| 荥经县| 清徐县| 衡东县| 鸡泽县| 南阳市| 淮阳县| 大埔区| 乌苏市| 宁安市|