你須要一臺服務器,搭建有node的環境,本人使用的是阿里雲,裝了centos7系統,你還能夠在系統上界面化。由於也是剛接觸,用什麼配置環境簡單就用什麼,因此我安裝了寶塔面板,以爲挺好的。最後就是擁有寫好的項目。這樣你就能夠開始你的部署之旅了!
html
安裝寶塔面板後,經過瀏覽器打開寶塔網址(面板地址:http://{您的服務器IP}:888)登陸進去後能夠看到如下界面。若是須要部署前端項目,就在網站那裏,新建就能夠了。還有數據庫能夠本身經過命令生成,也能夠用本地的sql運行導入。接下來,點擊軟件管理安裝PM2管理器,集成了node+npm環境了。前端
一、安裝:egg-scriptsvue
不少開發者開發時沒有安裝egg-scripts,由於本地運行經常使用這個命令: npm run dev 。線上環境才用egg-scripts命令:npm run start,爲何不用PM2呢,應爲框架內置了 egg-cluster 來啓動 Master 進程,Master 有足夠的穩定性,同時,框架也提供了 egg-scripts 來支持線上環境的運行和中止。node
二、運行命令:npm run cigit
將ts編譯成js,由於js優先加載,項目執行時是將將ts編譯成js,再運行js,讓項目跑一來。而已這個命令規範你的代碼規範,代碼不規範會報錯提醒你修改,eslint規則能夠自行自定義。因此開本地開發時,經常使用這個命令,避免等到部署時出現大量規範問題,影響項目上線時間。github
三、安裝指明生成環境:npm install --productionsql
這樣在壓縮時,只會打包生產環境須要的依賴包,減小以後的壓縮包的大小。數據庫
四、壓縮項目包:tar -zcvf ../release.tgz .npm
本身能夠用ftp(極力推薦)或者遠程共享磁盤資源的模式將這個包發到服務器,寶塔面板提供ftp功能。centos
五、開放端口
除了再阿里雲的安全組配置出站入站規則,還須要再系統的防火牆開放項目運行須要的端口。不然就算項目成功跑起來,也訪問不到。
六、項目解壓及文件操做權限
第一步解壓 :gunzip FileName(壓縮的文件名).gz,第二步解壓:tar xvf FileName(壓縮的文件名).tar。最後運行npm start
運行時可能會出現這樣的權限報錯:Permission denied,返回上一級目錄,而後運行命令:sudo chmod -R 777 文件名,來賦予權限。當出現端口占用的錯誤,運行命令:sudo lsof -i:端口,而後用kill 進程號,來殺死進程。
由於剛開始用vue+egg開發了一個後臺系統,順便寫寫總結,後面有時間會繼續更新關於egg的實戰經歷,但願對有須要的人有所幫助。有什麼不對的地方望各位指出,有什麼更好的方式,也能夠一塊兒摸魚,哈哈。