Node项目部署到阿里云服务器(ECS),以Nuxt.js服务端渲染项目为例
1、前言
最近打算業余時間搭個網站,選擇的技術棧為node+mongodb+Nuxt.js(基于vue,用于創建服務端渲染 (SSR) 應用),以下不會教科書式講解,只是提供整體思路、參考資料以及關鍵性操作。
2、阿里云部署
概括步驟:服務器環境配置->本地sublime text 安裝sftp插件->本地項目打包->sftp上傳->服務器安裝pm2->啟動項目->完成。
以下為詳細介紹:
(1)須知:
本人操作電腦為Mac,購買的是云服務器(阿里云ECS Linux CentOS 版),購買成功后會有個密碼,之后連接此服務器需要用到,此服務器公網ip可以在阿里云后臺看到。
(2)部署前準備
購買成功后,可以打開終端,輸入ssh root@實例的公網 IP回車,輸入連接密碼,即可連接阿里云,看到紅框部分證明連接成功:
隨后,跟著這份官網文檔走一遍,給你的阿里云服務器安裝node之類的環境:https://help.aliyun.com/document_detail/50775.html
新手請務必按照上邊的文檔走一遍,直到你訪問你的ip時輸入了那個優秀的HelloWorld。
3、部署Nuxt.js項目
(1)效果展示
之前的文檔只是教我們怎么配置服務器的環境以及怎么建個HelloWorld驗證環境,沒教我們怎么上傳本地項目。
摸索了一下,終于成功了,先上一張圖,證明已經部署成功,啊哈哈哈…
鏈接:http://www.ecmascripter.com/
(2)正式部署
與SPA項目不同,Nuxt.js項目是服務端渲染的項目,并不是像SPA那樣把打包出來的dist扔到服務器即可。
以下操作對新手來說可能會有點懵,但跟著走下來之后是一直可以用的,希望有需要的要來點耐心走完...
首先,進入項目根目錄,執行npm run build構建,隨后:
①:安裝sublime text sftp插件
使用編輯器安裝sftp插件原因在于避免shell命令行操作的繁瑣,而且更改了代碼之后直接保存就可以上傳,不建議使用vs code的sftp插件(遇到很多不知名的坑,后來用sublime text的sftp插件,可以使用vscode開發,sublime上傳),sublime text安裝sftp插件的方法網上有了,就不復制粘貼了,可以參考:https://www.cnblogs.com/lswq/p/5881279.html
安裝好sftp插件以后,重啟sublime text,右擊項目根目錄,點擊map to remote,隨后會自動生成一個sftp-config.json文件,配置紅框部分:
需要改為保存即自動上傳的話,需要將upload_on_save選項改為true,此項目不推薦,因為很多文件其實不用上傳。
②:需要上傳的文件
.nuxt server // 本人有服務端,沒有請忽略此文件夾 .babelrc // 本人有將require改為import,因此有配置babel,沒有請忽略此文件 package.json nuxt.config.json以上文件右擊,上傳即可,如圖:
點擊后可以看到sublime text底部的上傳進度:
③:驗證
如何驗證是不是真的上傳成功了?
方法一:使用filezilla查看
方法二:使用終端連接服務器查看
④:運行項目
本人使用pm2守護程序,以保證項目長時間運行,linux下pm2的安裝網上有很多好的文章,搜索一下就有了,安裝完成后,運行以下命令:
pm2 start npm --name "你喜歡的名字" -- run start
即可通過ip或者配置好的域名訪問你的網站。
比如:
http://www.ecmascripter.com/
或
47.52.246.127
⑤:ps
pm2有很多命令,建議搜索大致了解一下,比如以下命令用于列出pm2當前管理的程序,可查看狀態:
(3)域名解析
這個比較簡單,只是大概介紹下,步驟:
1:阿里云注冊域名->到域名管理后臺點擊解析->添加記錄到阿里云公網ip
2:阿里云服務器后臺點擊實例->點擊更多找到網絡和安全組->點擊添加安全組配置->添加規則,端口號對應項目設置端口,本人為默認端口80,目的是輸入域名不加端口號即可訪問。
總結
以上是生活随笔為你收集整理的Node项目部署到阿里云服务器(ECS),以Nuxt.js服务端渲染项目为例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迷你世界如何做娃娃生物蛋
- 下一篇: dnf黑洞怎么升级 地下城与勇士