Linux部署Nodejs項(xiàng)目

一. 安裝配置Node.js

  1. Node.js官網(wǎng)上 http://nodejs.cn/download/ 下載安裝包或者源代碼

    下載node

  2. 通過xshell登錄Linux服務(wù)器將安裝包上傳到指定的安裝目錄,最好事先規(guī)劃安裝目錄

#事先創(chuàng)建好 mongodb,node,project項(xiàng)目 這些文件夾
[root@hadoop214 ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog
[root@hadoop214 ~]# cd /home
[root@hadoop214 home]# ls
mongodb  node  project  rar
[root@hadoop214 home]# 

通過xshell上傳文件(上傳文件使用rz與sz命令,遠(yuǎn)程Linux系統(tǒng)上需要安裝lrzsz工具包)

[root@hadoop214 ~]# yum install lrzsz
#進(jìn)入node文件夾
[root@hadoop214 ~]# cd /home/node
#上傳
[root@hadoop214 node]# rz
#此時會彈出一個Windows的對話框,選擇要上傳的文件
#注意文件不能為空文件,也就是大小為0字節(jié)的文件,文件為空文件是不行的,會一直處于上傳的狀態(tài)
  1. 解壓node安裝包
[root@hadoop214 node]# tar -zxvf node-v6.2.0-linux-x64.tar
#分別是四個參數(shù)
x : 從 tar 包中把文件提取出來
z : 表示 tar 包是被 gzip 壓縮過的,所以解壓時需要用 gunzip 解壓
v : 顯示詳細(xì)信息
f xxx.[tar.gz] 指定被處理的文件是 xxx.[tar.gz]

進(jìn)入解壓后的目錄node-v6.2.0-linux-x64/bin目錄下

[root@hadoop214 node]# cd node-v6.2.0-linux-x64/bin/
#現(xiàn)在可以顯示node版本號
[root@hadoop214 bin]# ./node -v
v6.2.0
#但無法顯示npm的版本號
[root@hadoop214 node]# ./npm -v
  1. 簡單配置
    至此,Node.js安裝成功,但是每次必須要到/home/nodenode-v6.2.0-linux-x64/bin目錄下才能執(zhí)行node命令,為node及npm建立軟連接,即可在任意目錄下執(zhí)行node及npm
[root@hadoop214 node]# ln -s node /usr/bin/node
[root@hadoop214 node]# ln -s npm /usr/bin/npm
#現(xiàn)在可以在任意目錄執(zhí)行node和npm
[root@hadoop214 ~]# node -v
[root@hadoop214 ~]# npm -v

如果軟連接失敗,也可通過配置環(huán)境變量實(shí)現(xiàn)

#安裝nano
[root@hadoop214 ~]# yum install nano
#編輯~/.bashrc
[root@hadoop214 ~]# nano ~/.bashrc
#再最后加入:
export PATH=/home/node/node-v6.2.0-linux-x64/bin:$PATH
#每次修改.bashrc后,使用source ~/.bashrc 是修改立即生效
#保存退出后就能顯示 npm版本了
[root@hadoop214 ~]# npm -v
3.8.9
[root@hadoop214 ~]# node -v
v6.2.0

二. 安裝配置MongoDB

  1. MongoDB官網(wǎng)下載安裝包(CentOS選擇RHEL,最好選擇偶數(shù)項(xiàng),最新版不是最好的)


    MongoDB下載
  2. 和node一樣進(jìn)行上傳解壓,將名字 mongodb-linux-x86_64-rhel62-3.4.0 改為 mongodb
[root@hadoop214 mongodb]# mv mongodb-linux-x86_64-rhel62-3.4.0 mongodb

然后為mongodb創(chuàng)建數(shù)據(jù)庫存放的位置和日志文件,默認(rèn)是在/data/db下面,同樣為了方便就在mongodb下面建立了相應(yīng)的目錄

[root@hadoop214 mongodb]# mkdir data
[root@hadoop214 mongodb]# cd data
# 以后將數(shù)據(jù)庫存放在db里
[root@hadoop214 data]# mkdir db
# 新建日志文件log
[root@hadoop214 mongodb]# mkdir log
# 創(chuàng)建一個日志文件
[root@hadoop214 mongodb]# touch logs
  1. 啟動Mongodb數(shù)據(jù)庫
# 進(jìn)入mongodb下的bin文件
[root@hadoop214 mongodb]# cd bin
# 配置路徑
[root@hadoop214 bin]# ./mongod --dbpath=/home/mongodb/mongodb/data/db --fork --logpath=/home/mongodb/mongodb/log/logs
# 參數(shù)說明:
--dbpath:用于指定存放mongodb的數(shù)據(jù)庫
--fork:后臺執(zhí)行,不然是前臺執(zhí)行,fork參數(shù)使得退出mongodb路徑還能運(yùn)行
--logpath:用于指定存放mongodb的日志記錄文件
  1. 打開rc.local文件,添加CentOS開機(jī)啟動項(xiàng)
nano /etc/rc.d/rc.local
# 添加啟動命令到本文件中
/home/mongodb/mongodb/bin/mongod --dbpath=/home/mongodb/mongodb/data/db --fork --logpath=/home/mongodb/mongodb/log/logs

執(zhí)行了第三步后mongodb已經(jīng)在后臺運(yùn)行了

三. 部署Node.js項(xiàng)目

  1. 安裝rar,官方網(wǎng)站下載最新版 http://linux.softpedia.com/get/System/Archiving/RAR-2380.shtml#download
    rar軟件不需要安裝,直接解壓到/usr/local下,以下操作需要有root權(quán)限。
#tar zxvf rarlinux-3.8.0.tar.gz -C /usr/local

此時,/usr/local/rar下就會有rar命令和unrar命令。可以在/usr/local/bin下創(chuàng)建連接

#ln -s /usr/local/rar/rar /usr/local/bin/rar
#ln -s /usr/local/rar/unrar /usr/local/bin/unrar
  1. 利用 xshell 將項(xiàng)目上傳到指定項(xiàng)目文件夾
[root@hadoop214 ~]# cd /home/project/ChatRooom
[root@hadoop214 bin]# rz
[root@hadoop214 bin]# unrar x ChatRoom.rar
  1. 安裝npm包及運(yùn)行
# 進(jìn)入項(xiàng)目
[root@hadoop214 ~]# /home/project/ChatRoom/
# 設(shè)置 npm 的淘寶鏡像
[root@hadoop214 ChatRoom]# npm config set registry https://registry.npm.taobao.org
# 如果node項(xiàng)目下的package.json里面的包依賴關(guān)系都寫進(jìn)去了,則npm install就會自動下載需要的包
[root@hadoop214 ChatRoom]# npm install
# 有些包還需要手動添加,例如express-handlebars,moment等等,根據(jù)提示添加即可
[root@hadoop214 ChatRoom]# npm install express-handlebars
#運(yùn)行nodejs項(xiàng)目
[root@hadoop214 ChatRoom]# node bin/www &

這些包都存放在 node_modules 文件夾內(nèi)

四. 利用 nodejs pm2

pm2是一個帶有負(fù)載均衡功能的應(yīng)用進(jìn)程管理器,類似有Supervisor,forever。

  1. 安裝
# npm install -g pm2
  1. 啟動
# pm2 start bin/www
# pm2 start bin/www --name my-api   #my-api為PM2進(jìn)程名稱
# pm2 start bin/www -i 0           #根據(jù)CPU核數(shù)啟動進(jìn)程個數(shù)
# pm2 start bin/www --watch   #實(shí)時監(jiān)控bin/www的方式啟動,當(dāng)bin/www文件有變動時,pm2會自動reload
  1. 查看進(jìn)程
# pm2 list
# pm2 show 0 或者 # pm2 info 0  #查看進(jìn)程詳細(xì)信息,0為PM2進(jìn)程id
  1. 監(jiān)控
# pm2 monit
  1. 停止
# pm2 stop all  #停止PM2列表中所有的進(jìn)程
# pm2 stop 0    #停止PM2列表中進(jìn)程為0的進(jìn)程
  1. 重載
# pm2 reload all    #重載PM2列表中所有的進(jìn)程
# pm2 reload 0     #重載PM2列表中進(jìn)程為0的進(jìn)程
  1. 重啟
# pm2 restart all     #重啟PM2列表中所有的進(jìn)程
# pm2 restart 0      #重啟PM2列表中進(jìn)程為0的進(jìn)程
  1. 刪除PM2進(jìn)程
# pm2 delete 0     #刪除PM2列表中進(jìn)程為0的進(jìn)程
# pm2 delete all   #刪除PM2列表中所有的進(jìn)程
  1. 日志操作
# pm2 logs [--raw]   #Display all processes logs in streaming
# pm2 flush              #Empty all log file
# pm2 reloadLogs    #Reload all logs
  1. 升級PM2
# npm install pm2@lastest -g   #安裝最新的PM2版本
# pm2 updatePM2                    #升級pm2
  1. 更多命令參數(shù)請查看幫助
# pm2--help
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,818評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,185評論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,656評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,647評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,446評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,951評論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,041評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,189評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,718評論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,602評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,800評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,316評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,045評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,419評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,671評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,420評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,755評論 2 371

推薦閱讀更多精彩內(nèi)容