docker nginx 部署 vue項目

一、vue項目編譯打包

1、更新node更新庫

docker nginx 部署 vue項目

2、編譯打包

npm run build

docker nginx 部署 vue項目

該問題的原因是 之前項目代碼是在windows環境編譯的 現在是在mac環境編譯 所以需要下載相應操作系統的編譯庫

docker nginx 部署 vue項目


docker nginx 部署 vue項目

編譯成功之後 會生成一個dist文件夾

docker nginx 部署 vue項目

裡面的內容就是即將部署到nginx的靜態資源

3、如果想直接啟動vue項目

docker nginx 部署 vue項目

啟動的時候 如果報webpack-dev-server: Permission denied錯誤

處理方式

a、獲取nodejs模塊安裝目錄訪問權限 (必須執行)

docker nginx 部署 vue項目

b、安裝 淘寶鏡像 (cnpm)

docker nginx 部署 vue項目

c、cnpm -v 如果報sudo: cnpm: command not found

說明此時需要配置下cnpm的環境變量

vim ~/.bash_profile

export PATH=/Users/mengfanxiao/nodejs/npm_global/bin:$PATH

source ~/.bash_profile

d、sudo cnpm install webpack-dev-server -g

docker nginx 部署 vue項目


e、安裝相關依賴

e-1、安裝vue腳手架

sudo cnpm install -g vue-cli

docker nginx 部署 vue項目

e-2、安裝項目依賴


cnpm install 

docker nginx 部署 vue項目

e-3、安裝 vue 路由模塊vue-router和網絡請求模塊vue-resource

cnpm install vue-router vue-resource --save

docker nginx 部署 vue項目

e-4、啟動項目

npm run dev或cnpm run dev


二、將vue項目部署到docker nginx並實現訪問

1、安裝最新的nginx

docker nginx 部署 vue項目

2、先簡單nginx運行起來,方便後面我們拷貝容器內部的nginx配置文件

docker nginx 部署 vue項目

3、將容器中的配置文件複製到宿主機上 普通方式搭建的nginx只需要關注nginx.conf配置文件 docker方式搭建的 需要關注2個配置文件 nginx.conf和default.conf

docker nginx 部署 vue項目

docker cp ed2f9784a0eb:/etc/nginx/nginx.conf ~/nginx/conf/

docker cp ed2f9784a0eb:/etc/nginx/conf.d/default.conf ~/nginx/conf.d/

4先停止容易 再刪除容器 重新啟動 (防止端口衝突 修改了下默認端口為7000)

docker nginx 部署 vue項目

5、將靜態文件放在location指定的目錄下

docker nginx 部署 vue項目


6、啟動容器

docker run -d --name nginx1 -p 7000:7000 -v /Users/mengfanxiao/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /Users/mengfanxiao/nginx/html:/Users/mengfanxiao/nginx/html -v /Users/mengfanxiao/nginx/logs:/var/log/nginx -v /Users/mengfanxiao/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf nginx


-d 後臺啟動

-name 容器名稱

-p宿主機端口7000 指向容器中端口7000

第一個-v表示將宿主機中的nginx.conf替換調容器中的nginx.conf

第二個-v表示將宿主機中的靜態資源文件替換調宿主機中的靜態資源文件

第三個-v表示容器中的日誌也寫到宿主機上方便查看日誌

第四個-v表示宿主機上的default.conf配置替換掉容器中的default.conf配置


docker nginx 部署 vue項目

6、查看啟動結果

docker nginx 部署 vue項目


7、訪問靜態資源

docker nginx 部署 vue項目


分享到:


相關文章: