欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx同一端口部署多個(gè)前后端分離的vue項(xiàng)目完整步驟

 更新時(shí)間:2023年10月19日 16:39:32   作者:抹香鯨之海  
最近做項(xiàng)目結(jié)構(gòu)優(yōu)化,前端項(xiàng)目都是部署在nginx上,想實(shí)現(xiàn)同一個(gè)端口可以訪(fǎng)問(wèn)多個(gè)前端項(xiàng)目,所以就有了本文,這篇文章主要給大家介紹了關(guān)于Nginx同一端口部署多個(gè)前后端分離的vue項(xiàng)目的相關(guān)資料,需要的朋友可以參考下

前言

要用nginx容器部署多個(gè)前端項(xiàng)目可以采用監(jiān)聽(tīng)端口,和基于location配置兩種方法,

我的nginx是使用docker部署的,啟動(dòng)的時(shí)候沒(méi)有開(kāi)多余的端口,所以采用location配置

一個(gè)server下根據(jù)根路徑不同分別代理訪(fǎng)問(wèn)不同項(xiàng)目。

下面操練起來(lái),問(wèn):把大象放冰箱?總共需要幾步:三步!

第一步:Nginx 相關(guān)位置代碼

worker_processes  1;

events {
    worker_connections  1024;
}

http {
	client_max_body_size 100m;
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
		charset utf-8;

		#項(xiàng)目一,同過(guò)ip:80直接訪(fǎng)問(wèn)
		location / {
            root   /home/ruoyi-ui/dist; #dist文件的位置(根據(jù)自己dist包放置的位置決定) 
			try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
		
		#項(xiàng)目二,同過(guò)ip:80/project直接訪(fǎng)問(wèn)
		location /project {
            alias  /home/zero/dist/;#注意第二個(gè)項(xiàng)目路徑是alias不是root,通常最佳實(shí)際是配置一個(gè)項(xiàng)目的根root,其他的文件夾則使用alias,畢竟alias更加靈活
            try_files $uri $uri/ /project/index.html;
	        index  index.html;
        }

		#第一個(gè)項(xiàng)目(前后端分離)反向代理來(lái)解決跨域問(wèn)題
		location /prod-api/ {
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			#后端服務(wù)端口地址:
			proxy_pass http://10.10.11.79:8080/;
		}

		#第二個(gè)項(xiàng)目(前后端分離)反向代理來(lái)解決跨域問(wèn)題,要與第二個(gè)項(xiàng)目vue里面跨域的配置一致,沒(méi)有跨域問(wèn)題可以不配置		
		location /zero-api/ {
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			#后端服務(wù)端口地址:
			proxy_pass http://10.10.11.79:8083/;
		}
		
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

訪(fǎng)問(wèn)的時(shí)候是ip:端口號(hào)/+你配置的路徑:第一個(gè)路徑時(shí)候/,第二個(gè)路徑是/project

主要是兩個(gè)地方:

1.第二個(gè)local 后面/project 這個(gè)名字要與vue項(xiàng)目中index.js ,vue.config.js配置里面的名稱(chēng)要一樣

2.跨域的問(wèn)題第四個(gè)local中l(wèi)ocation /zero-api/ 這個(gè)名字要與vue項(xiàng)目中vue.config.js文件中的跨域那個(gè)地方的配置要一致。

第二步:Vue 項(xiàng)目配置文件設(shè)置

1.修改index.js

修改路由,在src目錄下找到reouter目錄,添加base屬性:

base: '/project',

這個(gè)地方的名字需要與 nginx.conf 中第二個(gè)項(xiàng)目location的/后面的路徑名稱(chēng)一致。

2. 修改vue.config.js

修改根目錄下的vue.config.js的publicPath路徑:

module.exports = {
  publicPath: "/project'",  
}

這個(gè)地方的名字需要與 nginx.conf 中第二個(gè)項(xiàng)目location的/后面的路徑名稱(chēng)一致。

3. 處理前后端分離跨域問(wèn)題

沒(méi)有跨域需求可以不配,現(xiàn)在都是前后端分離了,用nginx分別代理前端和后端微服務(wù),解決跨越問(wèn)題。修改vue.config.js:

devServer: {
  port: 80, //本地項(xiàng)目端口
  proxy: {
     "/zero-api": { // 這個(gè)意思是:原先以 /zero-api 開(kāi)頭的請(qǐng)求
      target: 'http://10.10.11.79:8083', // 凡是以 /zero-api 開(kāi)頭的請(qǐng)求,通通請(qǐng)求這個(gè)服務(wù)器
      changeOrigin: true, // 允許跨域
    }
  }
},

/zero-api 要與nginx 里面那個(gè)反向代理里面那個(gè)zero-api一致。

第三步:部署

修改nginx配置文件nginx.conf,把第二個(gè)vue項(xiàng)目打包放到目錄中/home/zero/dist,重啟nginx。

總結(jié)

到此這篇關(guān)于Nginx同一端口部署多個(gè)前后端分離的vue項(xiàng)目的文章就介紹到這了,更多相關(guān)Nginx部署多個(gè)前后端分離vue項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue2實(shí)現(xiàn)provide inject傳遞響應(yīng)式

    vue2實(shí)現(xiàn)provide inject傳遞響應(yīng)式

    在看element-ui的源碼的時(shí)候,注意到源碼里面有很多地方使用provide和inject的屬性,本文主要介紹了vue2實(shí)現(xiàn)provide inject傳遞響應(yīng)式,分享給大家,感興趣的可以了解一下
    2021-05-05
  • 一文詳解Vue3中的setup函數(shù)的用法和原理

    一文詳解Vue3中的setup函數(shù)的用法和原理

    在 Vue3 中,setup 函數(shù)是一個(gè)新引入的概念,它代替了之前版本中的 data、computed、methods 等選項(xiàng),用于設(shè)置組件的初始狀態(tài)和邏輯,本文將主要介紹Setup的基本用法和少量原理
    2024-02-02
  • Avue實(shí)現(xiàn)動(dòng)態(tài)查詢(xún)與數(shù)據(jù)展示的示例代碼

    Avue實(shí)現(xiàn)動(dòng)態(tài)查詢(xún)與數(shù)據(jù)展示的示例代碼

    Avue是一個(gè)基于Vue.js的前端框架,它是由阿里云開(kāi)發(fā)的一款企業(yè)級(jí)UI組件庫(kù),旨在提供一套全面、易用且高性能的界面解決方案本文介紹了Avue實(shí)現(xiàn)動(dòng)態(tài)查詢(xún)與數(shù)據(jù)展示的示例,需要的朋友可以參考下
    2024-08-08
  • Vue2.0系列之過(guò)濾器的使用

    Vue2.0系列之過(guò)濾器的使用

    這篇文章主要介紹了Vue2.0系列之過(guò)濾器的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • vue源碼解析computed多次訪(fǎng)問(wèn)會(huì)有死循環(huán)原理

    vue源碼解析computed多次訪(fǎng)問(wèn)會(huì)有死循環(huán)原理

    這篇文章主要為大家介紹了vue源碼解析computed多次訪(fǎng)問(wèn)會(huì)有死循環(huán)原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Vue組件基礎(chǔ)操作介紹

    Vue組件基礎(chǔ)操作介紹

    這篇文章主要介紹了Vue組件基礎(chǔ)操作,組件是vue.js最強(qiáng)大的功能之一,而組件實(shí)例的作用域是相互獨(dú)立的,這就意味著不同組件之間的數(shù)據(jù)無(wú)法相互進(jìn)行直接的引用
    2023-01-01
  • vue element-ui el-tooltip組件失效問(wèn)題及解決

    vue element-ui el-tooltip組件失效問(wèn)題及解決

    這篇文章主要介紹了vue element-ui el-tooltip組件失效問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue?中如何使用?el-date-picker?限制只能選擇當(dāng)天、當(dāng)天之前或當(dāng)天之后日期的方法詳解

    Vue?中如何使用?el-date-picker?限制只能選擇當(dāng)天、當(dāng)天之前或當(dāng)天之后日期的方法詳解

    在Vue前端開(kāi)發(fā)中,使用 el-date-picker 組件進(jìn)行日期選擇是常見(jiàn)的需求,有時(shí)候我們需要限制用戶(hù)只能選擇當(dāng)天、當(dāng)天之前或當(dāng)天之后的日期,本文將詳細(xì)介紹如何使用 el-date-picker 組件實(shí)現(xiàn)這些限制,讓你能夠輕松應(yīng)對(duì)各種日期選擇場(chǎng)景,需要的朋友可以參考下
    2023-09-09
  • 詳解vite+ts快速搭建vue3項(xiàng)目以及介紹相關(guān)特性

    詳解vite+ts快速搭建vue3項(xiàng)目以及介紹相關(guān)特性

    這篇文章主要介紹了vite+ts快速搭建vue3項(xiàng)目以及介紹相關(guān)特性,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • vue-cli項(xiàng)目中img如何使用require動(dòng)態(tài)獲取圖片

    vue-cli項(xiàng)目中img如何使用require動(dòng)態(tài)獲取圖片

    這篇文章主要介紹了vue-cli項(xiàng)目中img如何使用require動(dòng)態(tài)獲取圖片,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2022-09-09

最新評(píng)論