centos下安装nodejs及websocket

时间:2021-05-08 15:58:11

软件环境:

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

centos下安装nodejs及websocket

Step 9、安装服务端npm install -g socketlog-server , 运行命令 socketlog-server 即可启动服务。 将会在本地起一个websocket服务 ,监听端口是1229 。 如果想服务后台运行: socketlog-server > /dev/null &

centos下安装nodejs及websocket

如果执行nohup报nohup: ignoring input and redirecting stderr to stdout这个提示 请把上面的命令改为nohup node server/index.js > /dev/null 2>&1 & 这个就没事了

Step 10、然后查看1229和1116是否被占用

centos下安装nodejs及websocket

Step 11、查看小火箭是否已经连接成功 变成蓝色了

centos下安装nodejs及websocket

如果没有是不是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');

?>

centos下安装nodejs及websocket

罗飞的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');