Vue+Koa2 打包后進(jìn)行線上部署的教程詳解
最近使用Vue和Koa2重構(gòu)了自己的博客,過(guò)程中踩了不少坑,查了很多資料,最后總算成功上線。之后我計(jì)劃圍繞這個(gè)過(guò)程寫一系列文章,講講如何用Vue+Koa2寫一套網(wǎng)站。
而現(xiàn)在,先來(lái)講講最后一步,在寫完Vue和Koa2后,如何將它們部署到線上。
1.將Vue和Koa2結(jié)合
很多人在打完包后就不知道怎么做了,畢竟后面都是后端的事情。如果你用的是Vue-cli3.0,那么打包這一步會(huì)非常簡(jiǎn)單,只需要執(zhí)行一條命令即可,其它的不用關(guān)心:
npm run build
之后會(huì)生成一個(gè)dist的文件夾,將它放到Koa2目錄下的public文件里,然后在Koa2的配置文件app.js里將靜態(tài)資源指向這個(gè)文件夾,指向命令在我們創(chuàng)建Koa2框架時(shí)就已經(jīng)自動(dòng)生成,所以我們要做的也只是改一下文件地址就行了:
app.use(require('koa-static')(__dirname + '/public/dist'))
改好之后打開(kāi)koa2的主頁(yè),看看是否加載成功,第一步就愉快地完成了。
2.Nginx配置
現(xiàn)在登錄服務(wù)器,安裝完Nginx后,在`/etc/nginx/sites-enabled/`下新建一個(gè)conf文件,然后寫入配置:
//Koa的端口一般默認(rèn)是3000 upstream koa.server{ server 127.0.0.1:3000; } server { listen 80; server_name .******.com; location / { proxy_pass http://koa.server; proxy_redirect off; } }
寫完之后重啟Nginx:
sudo /etc/init.d/nginx restart
接著將Koa2文件上傳到服務(wù)器,啟動(dòng)后在瀏覽器里輸入你的網(wǎng)址或者服務(wù)器ip,能訪問(wèn)到就大功告成了。
當(dāng)然,這套Nginx配置還是非常簡(jiǎn)陋,如果希望長(zhǎng)期穩(wěn)定運(yùn)行的話還得加入SSL和Gzip,網(wǎng)上資料很多,如果以后有機(jī)會(huì)的話我也會(huì)講一下。
3.使用Pm2進(jìn)行進(jìn)程管理
能成功訪問(wèn)后接著就是將Koa放到后臺(tái)運(yùn)行,這里使用了Pm2進(jìn)行管理,先來(lái)安裝:
npm install -g pm2
安裝好后在Koa目錄下創(chuàng)建一個(gè)文件 “pm2.conf.json”,然后輸入以下代碼:
{ "apps":{ "name":"blog", "script": "bin/www", "watch": true, "ignore_watch":[ "node_modules", "logs" ], "instances":2, "error_file":"logs/err.log", "out_file":"logs/out.log", "log_date_format": "YYYY-MM-DD HH:mm:ss" } }
來(lái)重點(diǎn)說(shuō)下兩個(gè)參數(shù),watch和instances。
Watch是檢測(cè)到文件有改動(dòng)會(huì)自動(dòng)重啟加載,ignore_watch則是排除不需要監(jiān)控的文件。
Instances則是開(kāi)啟實(shí)例數(shù),建議根據(jù)cpu核數(shù)進(jìn)行配置,有多少核就開(kāi)啟多少條。
最后啟動(dòng):
pm2 start pm2.conf.json
到這里,網(wǎng)站就部署完成了!
總結(jié)
以上所述是小編給大家介紹的Vue+Koa2 打包后進(jìn)行線上部署的教程詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- 詳解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
- vue2.0+koa2+mongodb實(shí)現(xiàn)注冊(cè)登錄
- 詳解vue+vuex+koa2開(kāi)發(fā)環(huán)境搭建及示例開(kāi)發(fā)
- 利用vue + koa2 + mockjs模擬數(shù)據(jù)的方法教程
- vue項(xiàng)目打包部署_nginx代理訪問(wèn)方法詳解
- vue項(xiàng)目打包部署到服務(wù)器的方法示例
- Vue項(xiàng)目webpack打包部署到Tomcat刷新報(bào)404錯(cuò)誤問(wèn)題的解決方案
- vue 打包后的文件部署到express服務(wù)器上的方法
- Vue項(xiàng)目webpack打包部署到服務(wù)器的實(shí)例詳解
相關(guān)文章
淺談Vue路由快照實(shí)現(xiàn)思路及其問(wèn)題
這篇文章主要介紹了淺談Vue路由快照實(shí)現(xiàn)思路及其問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06使用table做成樹(shù)形結(jié)構(gòu)的table
這篇文章主要介紹了使用table做成樹(shù)形結(jié)構(gòu)的table問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07vue對(duì)插件(iview,elementui,treeselect)樣式的局部修改方式
這篇文章主要介紹了vue對(duì)插件(iview,elementui,treeselect)樣式的局部修改方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07vue-calendar-component日歷組件報(bào)錯(cuò)Clock is not defi
這篇文章主要為大家介紹了vue-calendar-component日歷組件報(bào)錯(cuò)Clock is not defined解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11vant組件中 dialog的確認(rèn)按鈕的回調(diào)事件操作
這篇文章主要介紹了vant組件中 dialog的確認(rèn)按鈕的回調(diào)事件操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11