來源:http://blog.csdn.net/chenlinIT/article/details/73343793
前言
最近工作不是很忙,在空閑時間學習用node+express搭建自己的個人博客。目前進度大概進行到一半了,等不及想部署上線看下效果(學習階段的人總是很興奮,有一點點小成果就想馬上看看 =_=!)。
於是買了個阿里雲服務器,自己嘗試來部署一下,搗鼓了兩天終於搗鼓好了,這里來記錄一下,以免后面又忘了。
參考:
阿里雲幫助文檔: 部署Node.js項目(CentOS)
推酷文章
簡書文章
segmentfault文章
pm2使用方法
一、買服務器
比較窮,選了最低配的。30/月,1核,1G內存,1M帶寬,操作系統:CentOS 7.2 64位。作為一個從來沒有解除過阿里雲的菜鳥,這兩天真是踩了無數坑,不過也學到了很多東西。
二、開始搗鼓,來看看怎么部署。
網上的教程很多,但還是想自己來寫一下,這樣自己好理解,也能加深記憶。首先遠程鏈接,阿里雲的遠程連接功能不會用,輸入用戶名后然后輸入登錄密碼,總是輸入不完就跳了,不知道咋回事。因為服務器系統是Linux的,我電腦是windows 7的系統。如果服務器是windows server的系統可以使用電腦的遠程桌面連接,這里就不細說了,不會的上網搜一下就行了。windows遠程連接Linux網上說有兩種常用的遠程連接工具:Putty和Xshell,我選擇的是Xshell。
1、遠程連接服務器
下載Xshell 並安裝,打開軟件你會看到會話框:
點擊新建並設置和填寫如下信息:
填好后先不要點確定,點擊左側樹狀圖中“用戶身份驗證”,填寫信息:
然后點擊確定后,就會像上面第一張圖顯示的,然后點擊連接,連接成功如圖顯示:
2、安裝Node.js
按照阿里雲幫助文檔: 部署Node.js項目(CentOS) 教程中步驟2操作(linux系統指令大全);
(1)、wget命令下載Node.js安裝包。
該安裝包是編譯好的文件,解壓之后,在bin文件夾中就已存在node和npm,無需重復編譯。
wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz
- 1
(2)、解壓文件。
tar xvf node-v6.9.5-linux-x64.tar.xz
- 1
(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
- 1
- 2
- 3
- 4
- 5
- 6
(4)、查看node.js和npm版本:
node -v npm -v
- 1
- 2
完成以上步驟node.js就算安裝成功了
3、安裝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
- 1
其他版本鏈接可以去官網查看
(3)、解壓安裝包,並重命名文件夾為mongodb
tar zxvf mongodb-linux-x86_64-3.4.5.tgz mv mongodb-linux-x86_64-3.4.5 mongodb
- 1
- 2
(4)、創建數據和日志存放目錄
mkdir /var/mongodb mkdir /var/mongodb/data mkdir /var/mongodb/logs
- 1
- 2
- 3
(5)、設置開機啟動項
打開rc.local文件,添加CentOS開機啟動項:
不熟悉linux命令的可以參考:linux系統指令大全
vim /etc/rc.d/rc.local
- 1
打開文件后輸入‘i’啟用編輯。將mongodb啟動命令追加到本文件中,讓mongodb開機自啟動:
/opt/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork
- 1
按 Esc
退出編輯,輸入 :wq
(冒號wq),回車保存並關閉文件。
(6)、手動啟動mongodb
/opt/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork
- 1
數據庫安裝和啟動已完成,下面安裝pm2
4、安裝pm2
(1)、通過npm全局安裝:
npm install pm2 -g
- 1
這個時候使用 pm2 -v
查看版本可能會報錯,需要設置一下環境變量
(2)、設置環境變量
使用 vim
命令打開文件 /etc/profile
vim /etc/profile
- 1
同樣,按‘i’啟動編輯,將pm2的路徑添加到環境變量中;
PATH=$PATH:/opt/node/lib/node_modules/pm2/bin
- 1
保存退出之后輸入:source /etc/profile
可以讓變量生效。
5、上傳項目
上傳項目使用的是Xftp
(1)、下載
(2)、連接服務器
如果已經安裝,可以點擊Xshell中‘新建文件傳輸’,直接鏈接到服務器(前提是Xshell已連接);
手動配置連接和Xshell差不多:
(3)、上傳項目目錄
參考
我把代碼上傳到了/home目錄文件夾下。
6、啟動項目
(1)、使用pm2啟動項目
控制台進入存放代碼的目錄,和本地操作類似,本地使用node /bin/www
啟動項目,這里換成pm2 start /bin/www
;
項目啟動成功后就可以使用 IP:端口 號訪問了。IP是你服務器的公網IP,端口號是你代碼中設置的監聽端口。
三、結束
至此,部署過程全部結束,我也是小白,從來沒碰過linux,實際操作中也遇到了各種問題。但是多嘗試,多搜索,細心一點一般都能部署成功。寫個博客記錄一下部署過程,好記性不如爛筆頭,以后忘記了查一下博客很快就能弄明白。也希望能夠幫助其他剛接觸linux部署的小伙伴。這個博客也不算是原創,算是整理其他博友的教程,各位可以隨意轉載。