centos下安裝nodejs及websocket
軟體環境:
VitrualBox
CentOS 6.4
NodeJS v0.12.5
安裝過程:
Step 1、確認伺服器有nodejs編譯及依賴相關軟體,如果沒有可通過運行以下命令安裝。
[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
將持續3-4min....
Step 4、接下來配置Node環境
[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
出現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、安裝SocketLogGoogle瀏覽器外掛程式
Chrome外掛程式安裝:https://github.com/luofei614/SocketLog下載後根目錄chrome.crx
(如果不能正常訪問這個頁面,你可以用下面手動安裝的方法進行安裝)
目錄結構:
chrome 目錄是 chrome外掛程式的原始碼
chrome.crx 檔案是chrome外掛程式的安裝包, 如果你無法從chrome市集安裝,可進行手動安裝, 瀏覽器地址欄輸入並開啟: chrome://extensions/ ,然後將chrome.crx拖入即可安裝。
php 目錄下的SocketLog.class.php是發送日誌的類庫,我們在發送日誌的時候,需要載入這個類庫然後調用函數slog即可。
Step 8、安裝Websocket和SocketLog外掛程式
[root@****** local]# npm install websocket
Step 9、安裝服務端npm install -g socketlog-server , 運行命令 socketlog-server 即可啟動服務。 將會在本地起一個websocket服務 ,監聽連接埠是1229 。 如果想服務後台運行: socketlog-server > /dev/null &
如果執行nohup報nohup: ignoring input and redirecting stderr to stdout這個提示 請把上面的命令改為nohup node server/index.js > /dev/null 2>&1 & 這個就沒事了
Step 10、然後查看1229和1116是否被佔用
Step 11、查看小火箭是否已經串連成功 變成藍色了
如果沒有是不是IP地址是正確的 如果是虛擬機器請填寫虛擬機器的IP地址 SocketLog外掛程式一定要是最新版本的目前是2.0.0 還是不行的話 查看是否已經開放了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、代碼如下
<?php
include 'SocketLog-master/php/SocketLog.class.php';
slog(array(
'host'=>'localhost',//websocket伺服器位址,預設localhost
'port'=>'1229',//websocket伺服器連接埠,預設連接埠是1229
'optimize'=>false,//是否顯示利於最佳化的參數,如果已耗用時間,消耗記憶體等,預設為false
'show_included_files'=>false,//是否顯示本次程式運行載入了哪些檔案,預設為false
'error_handler'=>false,//是否接管程式錯誤,將程式錯誤顯示在console中,預設為false
'force_client_id'=>'',//日誌強制記錄到配置的client_id,預設為空白wjh_zfH5NbLn
'allow_client_ids'=>array()////限制允許讀取日誌的client_id,預設為空白,表示所有人都可以獲得日誌。wjh_zfH5NbLn
),'set_config');
slog('socketlog success');
?>