把nodejs項目部署到阿里雲

前言

最近工做不是很忙,在空閒時間學習用node+express搭建本身的我的博客。目前進度大概進行到一半了,等不及想部署上線看下效果(學習階段的人老是很興奮,有一點點小成果就想立刻看看 O(∩_∩)O))。因而買了個阿里雲服務器,本身嘗試來部署一下,搗鼓了兩天終於搗鼓好了,這裏來記錄一下,以避免後面又忘了。html

參考:

阿里雲幫助文檔: 部署Node.js項目(CentOS)
推酷文章
簡書文章
segmentfault文章
pm2使用方法node

1、買服務器

比較窮,選了最低配的。30/月,1核,1G內存,1M帶寬,操做系統:CentOS 7.2 64位。做爲一個歷來沒有解除過阿里雲的菜鳥,這兩天真是踩了無數坑,不過也學到了不少東西。linux

2、開始搗鼓,來看看怎麼部署。

網上的教程不少,但仍是想本身來寫一下,這樣本身好理解,也能加深記憶。首先遠程連接,阿里雲的遠程鏈接功能不會用,輸入用戶名後而後輸入登陸密碼,老是輸入不完就跳了,不知道咋回事。由於服務器系統是Linux的,我電腦是windows 7的系統。若是服務器是windows server的系統可使用電腦的遠程桌面鏈接,這裏就不細說了,不會的上網搜一下就好了。windows遠程鏈接Linux網上說有兩種經常使用的遠程鏈接工具:Putty和Xshell,我選擇的是Xshell。mongodb

一、遠程鏈接服務器

下載Xshell 並安裝,打開軟件你會看到會話框:shell

打開Xshell鏈接軟件

點擊新建並設置和填寫以下信息:數據庫

設置Xshell鏈接

填好後先不要點肯定,點擊左側樹狀圖中「用戶身份驗證」,填寫信息:express

設置Xshell鏈接

而後點擊肯定後,就會像上面第一張圖顯示的,而後點擊鏈接,鏈接成功如圖顯示:npm

連接成功

二、安裝Node.js

按照阿里雲幫助文檔: 部署Node.js項目(CentOS) 教程中步驟2操做(linux系統指令大全);json

(1)、wget命令下載Node.js安裝包。

該安裝包是編譯好的文件,解壓以後,在bin文件夾中就已存在node和npm,無需重複編譯。vim

wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz
(2)、解壓文件。
tar xvf node-v6.9.5-linux-x64.tar.xz
(3)、軟件默認安裝在/root/node-v6.9.5-linux-x64/目錄下。若是須要將該軟件安裝到其餘目錄(如:/opt/node/)下,請進行以下操做:
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
(4)、查看node.js和npm版本:
node -v
npm -v

完成以上步驟node.js就算安裝成功了

三、安裝mongodb

參考 簡書文章

軟件安裝位置:/usr/local/mongodb
數據存放位置:/var/mongodb/data
日誌存放位置:/var/mongodb/logs
(1)、進入 /usr/local/:

cd /usr/local

(2)、安裝mongodb:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.5.tgz

其餘版本連接能夠去官網查看
mongodb版本選擇

(3)、解壓安裝包,並重命名文件夾爲mongodb
tar zxvf mongodb-linux-x86_64-3.4.5.tgz
mv mongodb-linux-x86_64-3.4.5 mongodb
(4)、建立數據和日誌存放目錄
mkdir /var/mongodb
mkdir /var/mongodb/data
mkdir /var/mongodb/logs
(5)、設置開機啓動項

打開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),回車保存並關閉文件。

保存並關閉文件

(6)、手動啓動mongodb
/opt/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork

數據庫安裝和啓動已完成,下面安裝pm2

四、安裝pm2

(1)、經過npm全局安裝:
npm install pm2 -g

這個時候使用 pm2 -v 查看版本可能會報錯,須要設置一下環境變量

(2)、設置環境變量

使用 vim 命令打開文件 /etc/profile

vim /etc/profile

一樣,按‘i’啓動編輯,將pm2的路徑添加到環境變量中;

pm2路徑

PATH=$PATH:/opt/node/lib/node_modules/pm2/bin

添加環境變量

保存退出以後輸入:source /etc/profile 可讓變量生效。

五、上傳項目

上傳項目使用的是Xftp

(1)、下載

下載Xftp

(2)、鏈接服務器

若是已經安裝,能夠點擊Xshell中‘新建文件傳輸’,直接連接到服務器(前提是Xshell已鏈接);
手動配置鏈接和Xshell差很少:

配置Xftp連接

(3)、上傳項目目錄

參考
我把代碼上傳到了/home目錄文件夾下。

這裏寫圖片描述

六、啓動項目

(1)、使用pm2啓動項目

控制檯進入存放代碼的目錄,和本地操做相似,本地使用node /bin/www 啓動項目,這裏換成pm2 start /bin/www ;
項目啓動成功後就可使用 IP:端口 號訪問了。IP是你服務器的公網IP,端口號是你代碼中設置的監聽端口。

2018-04-28
更新:這裏有個坑忘了說,由於當時上傳項目的時候直接把項目文件拖過去的,因此依賴模塊都包含在內了(node_modules 文件),因此上傳很慢,建議去掉這個文件夾保留package.json文件上傳後命令行進去項目根目錄使用npm install安裝依賴。

3、結束

至此,部署過程所有結束,我也是小白,歷來沒碰過linux,實際操做中也遇到了各類問題。可是多嘗試,多搜索,細心一點通常都能部署成功。寫個博客記錄一下部署過程,好記性不如爛筆頭,之後忘記了查一下博客很快就能弄明白。也但願可以幫助其餘剛接觸linux部署的小夥伴。這個博客也不算是原創,算是整理其餘博友的教程,各位能夠隨意轉載。

相關文章
相關標籤/搜索