nuxt.js express模板項目服務器部署

 nuxt版本:0.10.6html

技術棧:nuxt.js, express, pm2vue

部署環境:windows servernode

以前用nuxt.js 的express的模板項目在windows下用nginx進行代理訪問,其實有點多餘,直接用host文件就能夠達到相同的效果,僅供娛樂吧,熟悉一下nginx的基本配置也是好的,其實這段時間研究nuxt.js比較多,主要仍是想提升客戶端訪問首頁更快一點。nginx

以前使用nuxt.js generate直接生成對應的html靜態文件,這個不須要服務器安裝什麼特殊的環境。express

以iis爲例,直接把dist文件夾下生成的文件丟到對應的目錄就能夠了,其餘的也是同樣拷貝目錄文件,這種方式是客戶端訪問最快的方式,可是生成html靜態文件的過程可能有點痛苦,服務器數據有變化的時候要及時地更新對應的靜態html文件,好比要跑一些增量更新數據的服務,數據更新這一塊的複雜度就上去了。(後續再補充一下nuxt.js 用generate命令生成靜態html的範例)npm

對於後端數據變化比較頻繁且及時性要求高的應用來講,須要生成靜態html文件不少的狀況下,循環生成的方式難以知足要求,如下是一個nuxt.js在服務端世界掛在node.js的環境運行的方式。json

生成模板項目windows

vue init nuxt/express mynuxtexpress

拷貝mynuxtexpress目錄下的文件夾到服務器上,例如我拷貝到D:\nuxt目錄下後端

服務器上須要安裝node.js,安裝好後,cmd打開D:\nuxt目錄,更新依賴包瀏覽器

npm install

編譯

npm run build

運行

npm run start

瀏覽器輸入http://localhost:3000就能夠正常訪問了,可是在服務器上若是關掉了cmd命令行窗口,服務就自動中止了

這裏介紹一個管理node.js應用進程的管理器pm2,安裝也很簡單

npm install -g pm2

而後使用pm2啓動應用

pm2 start ./build/main.js

啓動成功後

基本到這裏環境就差很少了,nuxt.js源代碼若是不想放在服務器上,能夠刪除除了.nuxt, build, node_modules文件夾和package.json文件的其餘文件和文件夾,可是每次發佈build和.nuxt兩個文件夾和package.json文件須要進行更新,若有依賴包更新,直接運行更新依賴包命令就能夠了

另外默認的服務是host在127.0.0.1本機上,在部分服務器上,如雲服務器使用虛擬ip的服務器上,localhost和127.0.0.1均可以訪問,可是使用內網的ip沒法訪問,這也直接致使了服務器外網即便端口開啓了,也沒有辦法訪問站點,須要更改server/index.js的host配置,去掉host參數

而後從新編譯運行,發佈就能夠了。

 nuxt.js還在發展階段,很期待即將到來的1.0的版本,其實如今線上的項目已經開始使用了,若是以爲不錯,那麼試一試吧,用得人多了,發展也就更快了!

相關文章
相關標籤/搜索