原博客地址:centos下安裝nodejs及websocket
軟件環(huán)境:
VitrualBox
CentOS 6.4
NodeJS v0.12.5
安裝過程:
Step 1扯键、確認(rèn)服務(wù)器有nodejs編譯及依賴相關(guān)軟件,如果沒有可通過運行以下命令安裝。
[root@****** node-v0.12.5]# yum -y install gcc gcc-c++ openssl-devel
Step 2钉蒲、下載NodeJS源碼包并解壓遗增。
[root@****** node-v0.12.5]# wget http://nodejs.org/dist/v0.12.5/node-v0.12.5.tar.gz
[root@****** node-v0.12.5]# tar zxvf node-v0.12.5.tar.gz
[root@****** node-v0.12.5]# cd node-v0.12.5
Step 3逃贝、配置蹦锋、編譯甸私、安裝。
[root@****** node-v0.12.5]# ./configure --prefix=/usr/local/node
[root@****** node-v0.12.5]# make && make install
將持續(xù)3-4min....
Step 4硝岗、接下來配置Node環(huán)境
[root@****** node-v0.12.5]# vi /etc/profile
#set nodejs env
export NODE_HOME=/usr/local/node
export PATH=$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_modules:$PATH
[root@****** node-v0.12.5]# source /etc/profile ? ? ? --重啟生效
Step 5氢哮、測試是否安裝成功
[root@****** node-v0.12.5]# node -v
v0.12.5
出現(xiàn)NodeJS版本號則表示OK。
Step 6型檀、NodeJS之Hello World
[root@****** node-v0.12.5]# node
> console.log(”Hello NodeJS, I'm ****“);
Hello NodeJS, I'm ****
undefined
>
輸出:Hello NodeJS, I'm ***
Step 7冗尤、安裝SocketLog谷歌瀏覽器插件
Chrome插件安裝:https://github.com/luofei614/SocketLog下載后根目錄chrome.crx
(如果不能正常訪問這個頁面,你可以用下面手動安裝的方法進行安裝)
目錄結(jié)構(gòu):
chrome 目錄是 chrome插件的源代碼
chrome.crx 文件是chrome插件的安裝包胀溺, 如果你無法從chrome應(yīng)用商店安裝裂七,可進行手動安裝, 瀏覽器地址欄輸入并打開: chrome://extensions/ 仓坞,然后將chrome.crx拖入即可安裝背零。
php 目錄下的SocketLog.class.php是發(fā)送日志的類庫,我們在發(fā)送日志的時候,需要載入這個類庫然后調(diào)用函數(shù)slog即可无埃。
Step 8徙瓶、安裝Websocket和SocketLog插件
[root@****** local]# npm install websocket
Step 9、安裝服務(wù)端npm install -g socketlog-server , 運行命令 socketlog-server 即可啟動服務(wù)嫉称。 將會在本地起一個websocket服務(wù) 侦镇,監(jiān)聽端口是1229 。 如果想服務(wù)后臺運行: socketlog-server > /dev/null &
如果執(zhí)行nohup報nohup: ignoring input and redirecting stderr to stdout這個提示 請把上面的命令改為nohup node server/index.js > /dev/null 2>&1 & 這個就沒事了
Step 10织阅、然后查看1229和1116是否被占用
Step 11壳繁、查看小火箭是否已經(jīng)連接成功 變成藍色了
如果沒有是不是IP地址是正確的 如果是虛擬機請?zhí)顚懱摂M機的IP地址 SocketLog插件一定要是最新版本的目前是2.0.0 還是不行的話 查看是否已經(jīng)開放了1229和1116端口
[root@****** local]#cat /etc/sysconfig/iptables
沒有的話 通過 vi?/etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1116 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1229 -j ACCEPT
添加好后重啟iptables 命令是:service iptables restart
這個時候小火箭就亮起來了 然后寫代碼進行測試就ok了
Step 11、代碼如下
include 'SocketLog-master/php/SocketLog.class.php';
slog(array(
'host'=>'localhost',//websocket服務(wù)器地址荔棉,默認(rèn)localhost
'port'=>'1229',//websocket服務(wù)器端口闹炉,默認(rèn)端口是1229
'optimize'=>false,//是否顯示利于優(yōu)化的參數(shù),如果運行時間润樱,消耗內(nèi)存等剩胁,默認(rèn)為false
'show_included_files'=>false,//是否顯示本次程序運行加載了哪些文件,默認(rèn)為false
'error_handler'=>false,//是否接管程序錯誤祥国,將程序錯誤顯示在console中昵观,默認(rèn)為false
'force_client_id'=>'',//日志強制記錄到配置的client_id,默認(rèn)為空wjh_zfH5NbLn
'allow_client_ids'=>array()////限制允許讀取日志的client_id,默認(rèn)為空,表示所有人都可以獲得日志舌稀。wjh_zfH5NbLn
),'set_config');
slog('socketlog success');
?>