總結Centos下安裝nodejs並配置環境,記錄成功安裝的方法。推薦的安裝方法是利用已編譯的二進制文件安裝,不推薦使用源碼的形式安裝,一是源碼安裝比較麻煩,二是需要自行下載編譯浪費時間。
安裝nodejs
訪問nodejs的官方網站的downdolad,網址:https://nodejs.org/en/download/ ,可以看到最新的nodejs下載,包括不同的版本,截圖如下所示。
根據linux的不同版本選擇32位或64位,因爲我的linux的虛擬機是64位的,所以我選擇的是64位二進制安裝文件(Linux Binariesx64),可以右鍵選擇在新窗口中打開鏈接,複製下這個地址: https://nodejs.org/dist/v6.10.1/node-v6.10.1-linux-x64.tar.xz;
回到linux虛擬機,在控制檯輸入
# wget https://nodejs.org/dist/v6.10.1/node-v6.10.1-linux-x64.tar.xz
系統將會下載這個文件,可以選擇下載到默認路徑。成功下載,在命令行輸入命令可以查看到文件。如下圖所示。
根據下載的文件可以看出它的壓縮方式是 .xz
的方式,所以不能直接使用linux命令tar直接下載。需要下載能夠解壓這種格式的工具。我們可以使用yum源來安裝,控制檯命令:
# yum search xz
# yum install xz.i386
# xz -d node-v6.10.1-linux-x64.tar.xz
# tar -xf node-v6.10.1-linux-x64.tar
# mv node-v6.10.1-linux-x64 node-v6.10.1
當然好像也可以用 tar 來解壓文件
# tar -xf node-v6.10.1-linux-x64.tar.xz
# mv node-v6.10.1-linux-x64 node-v6.10.1
在控制檯輸入 yum search xz
,在搜索到的列表中選擇安裝軟件,如 yum install xz.i386
,解壓完成後文件變爲以 .tar
後綴,使用 tar -xf node-v6.10.1-linux-x64.tar
解壓文件。
可以更改文件名方便操作,在命令臺輸入 mv node-v6.10.1-linux-x64 node-v6.10.1
,更改文件名爲 node-v6.10.1。
爲了驗證是否能夠使用node,我們可以輸入 cd node-v6.10.1/bin
,輸入 ./node -v
查看node版本,安裝成功則能夠成功顯示node版本。如下圖所示。(截圖中的node -v應該爲./node -v,因爲是後面截圖的)。
配置nodejs
要想node能夠在全局能夠使用,需要添加連接,在控制檯輸入下面命令能夠實現。其中“ /root/node-v6.10.1/bin/node
”爲二進制nodejs文件的目錄,根據上面的步驟,我這裏是直接解壓到了root目錄下,所以路徑爲 /root/node-v6.10.1/bin/node
。
ln -s /root/node-v6.10.1/bin/node /usr/local/bin/node
ln -s /root/node-v6.10.1/bin/npm /usr/local/bin/npm
配置完成後即可在任何目錄下使用node命令。
後臺運行
利用Linux本身後臺執行的特性
使用&符號後臺執行,並利用nohup命令實現進程禁止掛起
nohup node app.js &
使用forever讓node.js持久運行
npm install forever -g #安裝
forever start app.js #啓動應用
forever stop app.js #關閉應用
forever restartall #重啓所有應用
#輸出日誌和錯誤
forever start -l forever.log -o out.log -e err.log app.js
# 指定forever信息輸出文件,當然,默認它會放到~/.forever/forever.log
forever start -l forever.log app.js
# 指定app.js中的日誌信息和錯誤日誌輸出文件,
# -o 就是console.log輸出的信息,-e 就是console.error輸出的信息
forever start -o out.log -e err.log app.js
# 追加日誌,forever默認是不能覆蓋上次的啓動日誌,
# 所以如果第二次啓動不加-a,則會不讓運行
forever start -l forever.log -a app.js
# 監聽當前文件夾下的所有文件改動(不太建議這樣)
forever start -w app.js
# 顯示所有運行的服務
forever list
######停止操作
# 停止所有運行的node App
forever stopall
# 停止其中一個node App
forever stop app.js
# 當然還可以這樣
# forever list 找到對應的id,然後:
forever stop [id]
# 開發環境下
NODE_ENV=development forever start -l forever.log -e err.log -a app.js
# 線上環境下
NODE_ENV=production forever start -l ~/.forever/forever.log -e ~/.forever/err.log -w -a app.js
#上面加上NODE_ENV爲了讓app.js辨認當前是什麼環境用的
運行forever報command not found
使用root用戶安裝 forever:npm install -g forever
。然後運行forever, 報錯command not found。
查了一下應該是forever目錄沒有配置在環境變量中。
npm list -g -depth 0
查看forever被安裝在哪個目錄下。
然後直接使用絕對路徑運行forever。