溫馨提示×

溫馨提示×

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

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

Vue-cli項目部署到Nginx服務(wù)器的方法

發(fā)布時間:2020-10-03 21:06:11 來源:腳本之家 閱讀:202 作者:返回主頁 楊柳依 欄目:web開發(fā)

0. Nginx使用

以windows版為例,下載niginx壓縮包并解壓到任意目錄,雙擊nginx.exe,在瀏覽器中訪問http://localhost,如果出現(xiàn)Welcome to nginx!頁面則說明成功。

nginx常用命令如下:

nginx -h  # 打開幫助
nginx -t  # 檢查配置文件是否正確

# 以下命令均要先啟動nginx才能執(zhí)行
nginx -s stop # 停止
nginx -s quit # 退出
nginx -s reopen # 重新啟動(注意不會重新讀取配置文件)
nginx -s reload # 重新讀取配置文件

1. 部署項目到Nginx根目錄

對于vue-cli創(chuàng)建的項目,修改vue.config.js文件(位于項目根目錄下,沒有的話自行創(chuàng)建):

module.exports = {
 // 開發(fā)環(huán)境中使用的端口
 devServer: {
 port: 8001
 },
 // 取消生成map文件(map文件可以準(zhǔn)確的輸出是哪一行哪一列有錯)
 productionSourceMap: false,
 // 開發(fā)環(huán)境和部署環(huán)境的路徑
 publicPath: process.env.NODE_ENV === 'production'
 ? '/'
 : '/my/',
 configureWebpack: (config) => {
 // 增加 iview-loader
 config.module.rules[0].use.push({
  loader: 'iview-loader',
  options: {
  prefix: false
  }
 })
 // 在命令行使用 vue inspect > o.js 可以檢查修改后的webpack配置文件
 }
}

在vue項目根目錄中使用命令npm run build創(chuàng)建輸出文件,將dist文件夾下的所有內(nèi)容復(fù)制到nginx目錄下的webapp/內(nèi)(沒有的話自行創(chuàng)建)。

修改nginx目錄中的conf/nginx.conf文件,在 http -> server 節(jié)點(diǎn)中,修改location節(jié)的內(nèi)容:

location / {
 root webapp;
 index index.html index.htm;
}

在nginx根目錄使用命令nginx -s reload即可在瀏覽器中通過http://localhost訪問項目。

2. 多個項目部署到Nginx

有時一個Nginx中放了好幾個子項目,需要將不同的項目通過不同的路徑來訪問。

對于項目1而言,修改vue.config.js文件的publicPath:

publicPath: '/vue1/'

對于項目2而言,修改vue.config.js文件的publicPath:

publicPath: '/vue2/'

分別在vue項目根目錄中使用命令npm run build創(chuàng)建輸出文件,將dist文件夾下的所有內(nèi)容復(fù)制到nginx目錄下的webapp/vue1和webapp/vue2內(nèi)(沒有的話自行創(chuàng)建)。

修改nginx目錄中的conf/nginx.conf文件,在 http -> server 節(jié)點(diǎn)中,修改location節(jié)的內(nèi)容:

location /vue1 {
 root webapp;
 index index.html index.htm;
}

location /vue2 {
 root webapp;
 index index.html index.htm;
}

在nginx根目錄使用命令nginx -s reload即可在瀏覽器中通過http://localhost/vue1、http://localhost/vue2訪問項目1、項目2。

3. 端口代理

當(dāng)前后端項目分別部署在同一臺機(jī)器上時,由于無法使用相同的端口,故后端一般會將端口號設(shè)置成不同的值(例如8080),但是當(dāng)前端向后端請求資源時還要加上端口號,未免顯得麻煩,故利用可以nginx將前端的指定路徑代理到后端的8080端口上。

在conf/nginx.conf文件中增加location:

location /api {
 proxy_pass http://localhost:8080/api;
}

這樣,當(dāng)前端訪問/api路徑時,實際上訪問的是http://localhost:8080/api路徑。

總結(jié)

以上所述是小編給大家介紹的Vue-cli項目部署到Nginx服務(wù)器的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI