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

Nginx部署前端Vue項(xiàng)目的完全流程

 更新時間:2026年05月23日 10:35:47   作者:菜喵007  
在前后端分離架構(gòu)中,vue項(xiàng)目通常需要部署到nginx服務(wù)器以實(shí)現(xiàn)生產(chǎn)環(huán)境運(yùn)行,這篇文章主要介紹了Nginx部署前端Vue項(xiàng)目的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

作為前端開發(fā)者,寫完一個Vue.js項(xiàng)目后,如何讓它“飛”到服務(wù)器上,供全世界訪問?答案是用Nginx!Nginx是個高性能的Web服務(wù)器,能輕松托管你的Vue單頁應(yīng)用(SPA),還能順手搞定HTTPS安全加密。本文將帶你一步步完成從項(xiàng)目構(gòu)建到Nginx部署的全流程,用幽默通俗的語言,配上清晰的代碼示例,讓你部署Vue項(xiàng)目像喝奶茶一樣順滑!

一、開干之前:Vue項(xiàng)目打包準(zhǔn)備

1.1 安裝依賴,補(bǔ)齊“裝備”

在動手部署前,確保你的Vue項(xiàng)目“全副武裝”。跑以下命令,安裝所有依賴,免得打包時缺東少西:

npm install

幽默Tips:沒這一步,就像去野營忘了帶帳篷,后悔都來不及!

1.2 打包項(xiàng)目,生成“成品”

用以下命令把Vue項(xiàng)目打包成靜態(tài)文件:

npm run build

打包后,項(xiàng)目根目錄會多出一個dist/文件夾,里面裝著所有部署需要的HTML、CSS、JS文件。這就是你的“成品”,準(zhǔn)備好搬到服務(wù)器上!

幽默Tipsdist/就像你烤好的蛋糕,香噴噴的,接下來得端上桌(服務(wù)器)讓大家嘗!

二、Nginx登場:配置你的“超級服務(wù)員”

Nginx是個“萬能服務(wù)員”,能高效送出靜態(tài)文件,還能處理反向代理、負(fù)載均衡。讓我們來把它請上場!

2.1 安裝Nginx,招募“服務(wù)員”

根據(jù)你的服務(wù)器操作系統(tǒng),安裝Nginx:

  • Ubuntu/Debian

    sudo apt update
    sudo apt install nginx
  • CentOS/RHEL

    sudo yum install nginx
    
  • MacOS(本地調(diào)試用):

    brew install nginx
    

安裝完,啟動Nginx,檢查它是否“上崗”:

sudo systemctl start nginx
sudo systemctl status nginx

看到active (running)?恭喜,Nginx已就位!

幽默Tips:Nginx啟動就像咖啡機(jī)預(yù)熱,嗡嗡一響,服務(wù)準(zhǔn)備好啦!

2.2 配置Nginx,告訴它“干啥活”

Nginx的配置文件通常在/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf。用編輯器打開,比如:

sudo nano /etc/nginx/conf.d/default.conf

粘貼以下配置,定制你的Vue項(xiàng)目服務(wù):

server {
    listen 80;
    server_name your_domain_or_ip;  # 替換成你的域名或服務(wù)器IP

    root /var/www/html/dist;  # 指向Vue項(xiàng)目的dist目錄
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;  # SPA路由重定向
    }

    # 可選:代理API請求到后端
    # location /api/ {
    #     proxy_pass http://backend_server:port;
    # }
}

配置解讀

  • listen 80:Nginx監(jiān)聽80端口,HTTP的默認(rèn)入口。
  • server_name:你的域名(比如example.com)或服務(wù)器IP。
  • root:Vue項(xiàng)目的dist/目錄,Nginx從這里找靜態(tài)文件。
  • index:默認(rèn)加載index.html,Vue的入口文件。
  • try_files:Vue是單頁應(yīng)用,所有未匹配的路由(如/about)都指向index.html,讓Vue Router接管。

保存后,檢查配置語法:

sudo nginx -t

沒報錯?完美!重啟Nginx應(yīng)用配置:

sudo systemctl restart nginx

幽默Tips:配置Nginx就像給服務(wù)員寫“工作手冊”,告訴它“客人點(diǎn)啥菜,端啥文件”!

三、項(xiàng)目上架:把“蛋糕”送到服務(wù)器

3.1 上傳dist/目錄,搬運(yùn)“成品”

scp或FTP工具,把本地dist/里的文件傳到服務(wù)器的/var/www/html/dist/

scp -r ./dist/* user@your_server_ip:/var/www/html/dist/

確保目標(biāo)目錄存在,不存在就先創(chuàng)建:

ssh user@your_server_ip
sudo mkdir -p /var/www/html/dist

幽默Tips:上傳文件像快遞寄蛋糕,小心搬運(yùn),別把“奶油”弄花了!

3.2 調(diào)整權(quán)限,防“門鎖”問題

確保Nginx能讀這些文件,設(shè)置權(quán)限:

sudo chown -R www-data:www-data /var/www/html/dist
sudo chmod -R 755 /var/www/html/dist

3.3 重啟Nginx,服務(wù)“上新”

上傳完,再重啟Nginx:

sudo systemctl restart nginx

幽默Tips:重啟Nginx像重新開張,服務(wù)員喊:“新菜上架,歡迎光臨!”

四、測試上線:看看“蛋糕”甜不甜

打開瀏覽器,輸入http://your_domain_or_ip,檢查Vue應(yīng)用是否正常:

  • 頁面加載正常?路由跳轉(zhuǎn)順暢?
  • 打開DevTools,檢查Network和Console有無錯誤。

幽默Tips:測試網(wǎng)站像試吃蛋糕,甜不甜,端上來一看便知!

五、加把“安全鎖”:配置HTTPS

HTTP不安全,就像端蛋糕沒蓋蓋子,容易被“偷吃”。用HTTPS給網(wǎng)站加把鎖,推薦用Let’s Encrypt免費(fèi)SSL證書,簡單又靠譜!

5.1 安裝Certbot,自動搞定證書

在Ubuntu/Debian上:

sudo apt install certbot python3-certbot-nginx

5.2 申請證書,一鍵配置HTTPS

跑以下命令,Certbot會自動改Nginx配置,啟用HTTPS:

sudo certbot --nginx -d your_domain

按提示輸入郵箱、同意條款,Certbot會:

  • 生成SSL證書。
  • 更新Nginx配置,監(jiān)聽443端口。
  • 設(shè)置HTTP自動跳轉(zhuǎn)到HTTPS。

完成后,訪問https://your_domain,看到綠色小鎖?大功告成!

5.3 自動續(xù)期證書

Let’s Encrypt證書有效期3個月,Certbot會自動續(xù)期。檢查:

sudo certbot renew --dry-run

幽默Tips:HTTPS像給蛋糕裝了個防盜盒,客人吃得放心,你也省心!

六、常見問題排查:別讓“小蟲子”壞了好事

部署難免遇到小坑,這里幫你備好“滅蟲劑”:

  1. 404錯誤

    • 檢查try_files配置,確保指向index.html
    • 確認(rèn)dist/文件都上傳到正確目錄。
    • 看Nginx錯誤日志:sudo tail -f /var/log/nginx/error.log
  2. 混合內(nèi)容警告

    • 頁面用HTTPS,但圖片、JS用HTTP?檢查代碼里的資源路徑,改成https://或相對路徑。
    • 配置Nginx強(qiáng)制跳轉(zhuǎn):
      server {
          listen 80;
          server_name your_domain;
          return 301 https://$host$request_uri;
      }
  3. 端口被占

    • sudo netstat -tulnp | grep 80查80端口占用,殺掉沖突進(jìn)程或改端口。
    • 防火墻擋路?開放80和443端口:
      sudo ufw allow 80
      sudo ufw allow 443
      
  4. 證書問題

    • 域名不匹配?確保server_name和證書域名一致。
    • 證書過期?手動續(xù)期:sudo certbot renew。

幽默Tips:遇到問題別慌,日志是你的“偵探筆記”,Nginx錯誤全藏在/var/log/nginx/error.log里!

七、總結(jié):讓Vue項(xiàng)目“飛”上云端

通過以上步驟,你的Vue.js項(xiàng)目已經(jīng)優(yōu)雅地跑在Nginx上,從打包、上傳到配置HTTPS,全程絲滑!Nginx不僅是你的“超級服務(wù)員”,還是安全和性能的保障。幾點(diǎn)心得送給你:

  • 細(xì)心配置:Nginx的每行配置都是“指令”,寫錯了服務(wù)員會“罷工”。
  • 安全第一:HTTPS是標(biāo)配,小鎖一亮,用戶和老板都夸你靠譜。
  • 日志為王:遇到問題別抓瞎,日志里藏著真相。

現(xiàn)在,端起奶茶,打開瀏覽器,看看你的Vue應(yīng)用在云端閃耀吧!部署成功的感覺,就像吃到剛出爐的蛋糕,甜到飛起!

到此這篇關(guān)于Nginx部署前端Vue項(xiàng)目的文章就介紹到這了,更多相關(guān)Nginx部署前端Vue項(xiàng)目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue2與vue3雙向數(shù)據(jù)綁定的區(qū)別說明

    vue2與vue3雙向數(shù)據(jù)綁定的區(qū)別說明

    這篇文章主要介紹了vue2與vue3雙向數(shù)據(jù)綁定的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 解決vue中post方式提交數(shù)據(jù)后臺無法接收的問題

    解決vue中post方式提交數(shù)據(jù)后臺無法接收的問題

    今天小編就為大家分享一篇解決vue中post方式提交數(shù)據(jù)后臺無法接收的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • 詳解如何更好的使用module vuex

    詳解如何更好的使用module vuex

    這篇文章主要介紹了詳解如何更好的使用module vuex,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • vue 開發(fā)企業(yè)微信整合案例分析

    vue 開發(fā)企業(yè)微信整合案例分析

    這篇文章主要介紹了vue 開發(fā)企業(yè)微信整合,結(jié)合具體案例形式分析了vue.js使用企業(yè)微信JSSDK實(shí)現(xiàn)手機(jī)端程序可以和企業(yè)微信進(jìn)行整合功能的相關(guān)操作技巧,需要的朋友可以參考下
    2019-12-12
  • el-table樹形數(shù)據(jù)量過大,導(dǎo)致頁面卡頓問題及解決

    el-table樹形數(shù)據(jù)量過大,導(dǎo)致頁面卡頓問題及解決

    這篇文章主要介紹了el-table樹形數(shù)據(jù)量過大,導(dǎo)致頁面卡頓問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 使用Vue3和Axios進(jìn)行API數(shù)據(jù)交互的代碼實(shí)現(xiàn)

    使用Vue3和Axios進(jìn)行API數(shù)據(jù)交互的代碼實(shí)現(xiàn)

    在現(xiàn)代Web開發(fā)中,前端框架和庫的使用越來越普遍,Vue.js便是其中一個受歡迎的選擇,Axios作為一個基于Promise的HTTP客戶端,能夠幫助我們輕松地與API進(jìn)行交互,在這篇博客中,我將介紹如何利用Vue 3及Axios進(jìn)行API數(shù)據(jù)交互,需要的朋友可以參考下
    2024-09-09
  • 使用vscode格式化文檔無效的解決辦法(vue代碼格式化文檔無效)

    使用vscode格式化文檔無效的解決辦法(vue代碼格式化文檔無效)

    這篇文章主要給大家介紹了關(guān)于使用vscode格式化文檔無效的解決辦法,也就是vue代碼格式化文檔無效,這是最近突然遇到的一個問題,這里給大家介紹一下解決的辦法,需要的朋友可以參考下
    2023-08-08
  • vue3如何避免樣式污染的方法示例

    vue3如何避免樣式污染的方法示例

    本文主要介紹了vue3如何避免樣式污染的方法示例,使用scoped可以避免父組件的樣式滲透到子組件中,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-09-09
  • 詳解gantt甘特圖可拖拽、編輯(vue、react都可用?highcharts)

    詳解gantt甘特圖可拖拽、編輯(vue、react都可用?highcharts)

    去年我遇到了一個甘特圖的需求,做了很多工作,最終還是不完美,今天使用一個新包,給大家重新學(xué)習(xí)下vue?甘特圖gantt的相關(guān)知識,感興趣的朋友一起看看吧
    2021-11-11
  • TypeScript基本類型 typeof 和keyof案例詳解

    TypeScript基本類型 typeof 和keyof案例詳解

    這篇文章主要介紹了TypeScript基本類型 typeof 和keyof案例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-10-10

最新評論

洛扎县| 衡东县| 池州市| 南澳县| 清河县| 肃北| 扎兰屯市| 饶河县| 兰坪| 红原县| 民和| 永善县| 抚顺市| 宜城市| 青川县| 赤壁市| 乌鲁木齐县| 荥经县| 醴陵市| 泸州市| 临安市| 宁城县| 讷河市| 大庆市| 蓬安县| 芦溪县| 衡水市| 竹北市| 宁化县| 老河口市| 汝州市| 玉环县| 平昌县| 深州市| 黎川县| 东方市| 乐平市| 南平市| 屯留县| 昌图县| 祁门县|