本次博客的編寫時用的系統環境,剛裝好的Centos 6.4 64位虛擬機。
另外關於linux 其他系統的安裝 可以參考https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
之前在linux下部署過幾次NodeJS,也有些經驗,最近也在Q群里有朋友問Node在linux下部署問題,於是總結一下,主要介紹兩種不同的部署方式,二進制文件直接解壓部署和手動編譯安裝,一來鞏固自己的知識,二來希望能對新手有所幫助。
關於在node在linux的部署我認為主要有三種方式,
第一種就是自己下載源碼,手動編譯二進制,即是部署過程。
第二種方法 直接下載二進制文件解壓即可。
第三種方式,使用yum install node或者apt-get install node安裝(在linux下 貌似默認源中沒有node的程序,這種方式有缺點,安裝后的程序版本可能不是最新版的,不推薦這種方式安裝)
編譯源碼安裝
需要先安裝編譯環境 比如 node編譯依賴於gcc make gcc-c++ openssl-devel等三方模塊,因此需要提前自己先安裝依賴(使用 yum -y install gcc make gcc-c++ openssl-devel 即可),還有要確認自己下載的是源碼(有同學之前要自己手動編譯安裝,卻找不到configure,文件,結果發現自己下載不是源碼,而是二進制包)官網的下載地址中http://nodejs.org/download/ 最后一項才是源碼。下載完解壓,在linux編譯程序一般就分為三步
1、 進入源碼路徑,執行里面的 configure文件./configure --prefix=生成的二進制文件路徑
2. 運行make命令,這個是編譯過程,運行的時間可能稍長一些
3、 執行install 命令。如果在第第一步驟中配置的程序安裝路徑不在系統的環境量PATH中,需要自己添加(下面會介紹在centos下修改環境變量)
關於源碼的編譯也可以參考這篇博客,下面重點敘述如何通過部署二進制的文件的方式安裝NodeJS
NodeJS二進制文件的部署安裝
2、首先下載NodeJS的二進制文件,http://nodejs.org/download/。在 Linux Binaries (.tar.gz)行處根據自己系統的位數選擇
3、下載后將安裝包移動到要安裝到的文件夾下,根據個人喜好設置即可
這里我放在了/home/kun/mysofltware/ 下面,依次執行如下命令,可看到
cd /home/kun/mysofltware/
ls
解壓到當前文件夾下運行
tar zxvf node-v0.10.26-linux-x64.tar.gz
進入 解壓后的目錄bin目錄下,執行ls會看到兩個文件node,npm. 然后執行./node -v ,如果顯示出 版本號說明我們下載的程序包是沒有問題的。 依次運行如下三條命令
cd node-v0.10.26-linux-x64/bin ls ./node -v
因為 /home/kun/mysofltware/node-v0.10.26-linux-x64/bin這個目錄是不在環境變量中的,所以只能到該目錄下才能node的程序。如果在其他的目錄下執行node命令的話 ,必須通過絕對路徑訪問才可以的
如果要在任意目錄可以訪問的話,需要將node 所在的目錄,添加PATH環境變量里面,或者通過軟連接的形式將node和npm鏈接到系統默認的PATH目錄下的一個,以下別介紹
軟連接方式
在終端執行echo $PATH可以獲取PATH變量包含的內容,系統默認的PATH環境變量包括/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin: ,冒號為分隔符。所以我們可以將node和npm鏈接到/usr/local/bin 目錄下如下執行
ln -s /home/kun/mysofltware/node-v0.10.26-linux-x64/bin/node /usr/local/bin/node ln -s /home/kun/mysofltware/node-v0.10.26-linux-x64/bin/npm /usr/local/bin/npm
通過如此,就可以訪問Node了,同時node部署也已經完畢。
環境變量配置。
在node目錄下執行pwd 獲取node所在的目錄,要把這個目錄添加到PATH環境變量
執行su 輸入密碼切換到root用戶。
vi /etc/profile
(如果不熟悉vi的,centos還有個方便的類似記事本的東東。gedit執行gedit /etc/profile可以打開進行編輯)
在vi 環境下 點擊 i 進入插入狀態,在export PATH的上一行添加如下內容 (環境變量中的內容 是以冒號分割的)
PATH=$PATH:/home/kun/mysofltware/node-v0.10.26-linux-x64/bin
編輯完成后按Esc鍵 然后輸入 :wq 按回車保存退出。
退出vi ,執行
source /etc/profile 可以是變量生效,
然后執行 echo $PATH ,看看輸出內容是否包含自己添加的內容
然后到任意目錄下去執行一次執行node -v npm -v
ok 搞定了。
需要注意的是,在我的安裝過程中,通過source /etc/profile,只是讓變量臨時生效了,如果此時我在開一個終端的 話運行node會提示找不到命令,這個問題 重啟或者注銷之后得到了解決,我記得之前玩Ubuntu的時候 是沒有這個問題的。看來linux知識還是欠缺啊。