最近工做不是很忙,在空閒時間學習用node+express搭建本身的我的博客。目前進度大概進行到一半了,等不及想部署上線看下效果(學習階段的人老是很興奮,有一點點小成果就想立刻看看 O(∩_∩)O))。因而買了個阿里雲服務器,本身嘗試來部署一下,搗鼓了兩天終於搗鼓好了,這裏來記錄一下,以避免後面又忘了。html
阿里雲幫助文檔: 部署Node.js項目(CentOS)
推酷文章
簡書文章
segmentfault文章
pm2使用方法node
比較窮,選了最低配的。30/月,1核,1G內存,1M帶寬,操做系統:CentOS 7.2 64位。做爲一個歷來沒有解除過阿里雲的菜鳥,這兩天真是踩了無數坑,不過也學到了不少東西。linux
網上的教程不少,但仍是想本身來寫一下,這樣本身好理解,也能加深記憶。首先遠程連接,阿里雲的遠程鏈接功能不會用,輸入用戶名後而後輸入登陸密碼,老是輸入不完就跳了,不知道咋回事。由於服務器系統是Linux的,我電腦是windows 7的系統。若是服務器是windows server的系統可使用電腦的遠程桌面鏈接,這裏就不細說了,不會的上網搜一下就好了。windows遠程鏈接Linux網上說有兩種經常使用的遠程鏈接工具:Putty和Xshell,我選擇的是Xshell。mongodb
下載Xshell 並安裝,打開軟件你會看到會話框:shell
點擊新建並設置和填寫以下信息:數據庫
填好後先不要點肯定,點擊左側樹狀圖中「用戶身份驗證」,填寫信息:express
而後點擊肯定後,就會像上面第一張圖顯示的,而後點擊鏈接,鏈接成功如圖顯示:npm
按照阿里雲幫助文檔: 部署Node.js項目(CentOS) 教程中步驟2操做(linux系統指令大全);json
該安裝包是編譯好的文件,解壓以後,在bin文件夾中就已存在node和npm,無需重複編譯。vim
wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz
tar xvf node-v6.9.5-linux-x64.tar.xz
mkdir -p /opt/node/ mv /root/node-v6.9.5-linux-x64/* /opt/node/ rm -f /usr/local/bin/node rm -f /usr/local/bin/npm ln -s /opt/node/bin/node /usr/local/bin/node ln -s /opt/node/bin/npm /usr/local/bin/npm
node -v npm -v
完成以上步驟node.js就算安裝成功了
參考 簡書文章:
軟件安裝位置:/usr/local/mongodb
數據存放位置:/var/mongodb/data
日誌存放位置:/var/mongodb/logs
cd /usr/local
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.5.tgz
其餘版本連接能夠去官網查看
tar zxvf mongodb-linux-x86_64-3.4.5.tgz mv mongodb-linux-x86_64-3.4.5 mongodb
mkdir /var/mongodb mkdir /var/mongodb/data mkdir /var/mongodb/logs
打開rc.local文件,添加CentOS開機啓動項:
不熟悉linux命令的能夠參考:linux系統指令大全
vim /etc/rc.d/rc.local
打開文件後輸入‘i’啓用編輯。將mongodb啓動命令追加到本文件中,讓mongodb開機自啓動:
/opt/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork
按 Esc
退出編輯,輸入 :wq
(冒號wq),回車保存並關閉文件。
/opt/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork
數據庫安裝和啓動已完成,下面安裝pm2
npm install pm2 -g
這個時候使用 pm2 -v
查看版本可能會報錯,須要設置一下環境變量
使用 vim
命令打開文件 /etc/profile
vim /etc/profile
一樣,按‘i’啓動編輯,將pm2的路徑添加到環境變量中;
PATH=$PATH:/opt/node/lib/node_modules/pm2/bin
保存退出以後輸入:source /etc/profile
可讓變量生效。
上傳項目使用的是Xftp
若是已經安裝,能夠點擊Xshell中‘新建文件傳輸’,直接連接到服務器(前提是Xshell已鏈接);
手動配置鏈接和Xshell差很少:
參考
我把代碼上傳到了/home目錄文件夾下。
控制檯進入存放代碼的目錄,和本地操做相似,本地使用node /bin/www
啓動項目,這裏換成pm2 start /bin/www
;
項目啓動成功後就可使用 IP:端口 號訪問了。IP是你服務器的公網IP,端口號是你代碼中設置的監聽端口。
2018-04-28
更新:這裏有個坑忘了說,由於當時上傳項目的時候直接把項目文件拖過去的,因此依賴模塊都包含在內了(node_modules 文件),因此上傳很慢,建議去掉這個文件夾保留package.json文件上傳後命令行進去項目根目錄使用npm install安裝依賴。
至此,部署過程所有結束,我也是小白,歷來沒碰過linux,實際操做中也遇到了各類問題。可是多嘗試,多搜索,細心一點通常都能部署成功。寫個博客記錄一下部署過程,好記性不如爛筆頭,之後忘記了查一下博客很快就能弄明白。也但願可以幫助其餘剛接觸linux部署的小夥伴。這個博客也不算是原創,算是整理其餘博友的教程,各位能夠隨意轉載。