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

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

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

這篇主要講的是,前后臺(tái)用同一個(gè)域名部署時(shí),怎么通過(guò)不同路徑來(lái)區(qū)分前臺(tái)、后臺(tái)的靜態(tài)文件,還有API,應(yīng)用程序編程接口)接口。另外也會(huì)適配Vue Router的history(歷史)模式,保證頁(yè)面刷新、路由跳轉(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)文件配置(訪(fǎng)問(wèn)根路徑就是前臺(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的問(wèn)題
    }
    # 后臺(tái)靜態(tài)文件配置(訪(fǎng)問(wèn)/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的問(wèn)題
    }
    # API(Application Programming Interface,應(yīng)用程序編程接口)請(qǐng)求代理(訪(fǎng)問(wèn)/prod-api開(kāi)頭的路徑,會(huì)轉(zhuǎn)發(fā)到后端)
    location /prod-api/ {
        proxy_pass http://localhost:8080/;  # 改成你自己的后端服務(wù)地址,末尾的/千萬(wàn)別刪
        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é)議類(lèi)型)請(qǐng)求頭設(shè)置
    }
}

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

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

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

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

3.1 后臺(tái)項(xiàng)目配置(訪(fǎng)問(wèn)路徑帶/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秒沒(méi)響應(yīng)就報(bào)錯(cuò)
  headers: {
    "Content-Type": "application/json",  // Content-Type(內(nèi)容類(lè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 配置說(shuō)明(關(guān)鍵注意點(diǎn),一定要看!)

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

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

相關(guān)文章

  • Nginx 訪(fǎng)問(wèn) /root/下 403 Forbidden問(wèn)題解決

    Nginx 訪(fǎng)問(wèn) /root/下 403 Forbidden問(wèn)題解決

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

    Linux下yum安裝nginx教程

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

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

    這篇文章主要介紹了負(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è),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • 利用nginx和騰訊云免費(fèi)證書(shū)制作https的方法

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

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

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

    對(duì)很多人而言,配置Nginx+PHP無(wú)外乎就是搜索一篇教程,然后拷貝粘貼。聽(tīng)上去似乎也沒(méi)什么問(wèn)題,可惜實(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支持 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • nginx配置前端請(qǐng)求轉(zhuǎn)發(fā)到指定的后端ip方式

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

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

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

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

最新評(píng)論

湖北省| 华亭县| 巴青县| 天台县| 鱼台县| 东阳市| 新绛县| 天峨县| 淮安市| 保山市| 安达市| 丹寨县| 清涧县| 漳浦县| 正安县| 阿拉善左旗| 桦川县| 新巴尔虎右旗| 南岸区| 扎鲁特旗| 收藏| 平谷区| 吴桥县| 上高县| 阿尔山市| 山阳县| 黄冈市| 宕昌县| 保山市| 郑州市| 罗田县| 启东市| 都兰县| 宜君县| 荣成市| 五河县| 湖口县| 南康市| 岐山县| 阜新市| 崇礼县|