软件环境:
VMware Workstation
CentOS 6.5
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=/Data/apps/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=/Data/apps/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、安装SocketLog谷歌浏览器插件
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');
?>
罗飞的socketlog地址: https://github.com/luofei614/SocketLog
include './SocketLog.class.php';
slog(array(
'allow_client_ids'=>array('log','loger'),
// 'force_client_id'=>'log',
'error_handler'=>true,
'optimize'=>true,
'show_included_files'=>true
),'set_config');