<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[centos下安装nodejs及websocket]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[服务器技术]]></category>
<pubDate>Sat, 30 May 2020 01:02:43 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	软件环境：<br/><br/>VitrualBox<br/><br/>CentOS 6.4<br/><br/>NodeJS v0.12.5<br/><br/>安装过程：<br/><br/>Step 1、确认服务器有nodejs编译及依赖相关软件，如果没有可通过运行以下命令安装。<br/><div class="code"><br/>&#91;root@****** node-v0.12.5&#93;# yum -y install gcc gcc-c++ openssl-devel<br/></div><br/>Step 2、下载NodeJS源码包并解压。<br/><div class="code"><br/>&#91;root@****** node-v0.12.5&#93;# wget http://nodejs.org/dist/v0.12.5/node-v0.12.5.tar.gz<br/><br/>&#91;root@****** node-v0.12.5&#93;# tar zxvf node-v0.12.5.tar.gz<br/><br/>&#91;root@****** node-v0.12.5&#93;# cd node-v0.12.5<br/></div><br/>Step 3、配置、编译、安装。<br/><div class="code"><br/>&#91;root@****** node-v0.12.5&#93;# ./configure --prefix=/usr/local/node<br/><br/>&#91;root@****** node-v0.12.5&#93;# make &amp;&amp; make install<br/></div><br/>将持续3-4min....<br/><br/>Step 4、接下来配置Node环境<br/><div class="code"><br/>&#91;root@****** node-v0.12.5&#93;# vi /etc/profile<br/><br/>#set nodejs env<br/><br/>export NODE_HOME=/usr/local/node<br/><br/>export PATH=$NODE_HOME/bin:$PATH<br/><br/>export NODE_PATH=$NODE_HOME/lib/node_modules:$PATH<br/><br/>&#91;root@****** node-v0.12.5&#93;# source /etc/profile       --重启生效<br/></div><br/>Step 5、测试是否安装成功<br/><div class="code"><br/>&#91;root@****** node-v0.12.5&#93;# node -v<br/><br/>v0.12.5<br/></div><br/>出现NodeJS版本号则表示OK。<br/><br/>Step 6、NodeJS之Hello World<br/><div class="code"><br/>&#91;root@****** node-v0.12.5&#93;# node<br/><br/>&gt; console.log(”Hello NodeJS, I&#039;m ****“);<br/><br/>Hello NodeJS, I&#039;m ****<br/><br/>undefined<br/><br/>&gt;<br/></div><br/>输出：Hello NodeJS, I'm ***<br/><br/>Step 7、安装SocketLog谷歌浏览器插件<br/><br/>Chrome插件安装：<a href="https://github.com/luofei614/SocketLog" target="_blank">https://github.com/luofei614/SocketLog</a>下载后根目录chrome.crx<br/><br/>（如果不能正常访问这个页面，你可以用下面手动安装的方法进行安装）<br/><br/>目录结构：<br/><br/>chrome 目录是 chrome插件的源代码<br/><br/>chrome.crx 文件是chrome插件的安装包， 如果你无法从chrome应用商店安装，可进行手动安装， 浏览器地址栏输入并打开： chrome://extensions/ ，然后将chrome.crx拖入即可安装。<br/><br/>php 目录下的SocketLog.class.php是发送日志的类库,我们在发送日志的时候，需要载入这个类库然后调用函数slog即可。<br/><br/>Step 8、安装Websocket和SocketLog插件<br/><div class="code"><br/>&#91;root@****** local&#93;# npm install websocket<br/></div><br/><br/><a href="http://www.dzhope.com/attachment.php?fid=241" target="_blank"><img src="http://www.dzhope.com/attachment.php?fid=241" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>Step 9、安装服务端npm install -g socketlog-server , 运行命令 socketlog-server 即可启动服务。 将会在本地起一个websocket服务 ，监听端口是1229 。 如果想服务后台运行： socketlog-server > /dev/null &<br/><br/>如果执行nohup报nohup: ignoring input and redirecting stderr to stdout这个提示 请把上面的命令改为nohup node server/index.js > /dev/null 2>&1 & 这个就没事了<br/><a href="http://www.dzhope.com/attachment.php?fid=242" target="_blank"><img src="http://www.dzhope.com/attachment.php?fid=242" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>Step 10、然后查看1229和1116是否被占用<br/><br/><a href="http://www.dzhope.com/attachment.php?fid=243" target="_blank"><img src="http://www.dzhope.com/attachment.php?fid=243" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><a href="http://www.dzhope.com/attachment.php?fid=244" target="_blank"><img src="http://www.dzhope.com/attachment.php?fid=244" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>Step 11、查看小火箭是否已经连接成功 变成蓝色了<br/><br/><a href="http://www.dzhope.com/attachment.php?fid=245" target="_blank"><img src="http://www.dzhope.com/attachment.php?fid=245" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/>如果没有是不是IP地址是正确的 如果是虚拟机请填写虚拟机的IP地址 SocketLog插件一定要是最新版本的目前是2.0.0 还是不行的话 查看是否已经开放了1229和1116端口<br/><div class="code"><br/>&#91;root@****** local&#93;#cat /etc/sysconfig/iptables<br/></div><br/>没有的话 通过 vi /etc/sysconfig/iptables<br/><div class="code"><br/>-A INPUT -m state --state NEW -m tcp -p tcp --dport 1116 -j ACCEPT<br/><br/>-A INPUT -m state --state NEW -m tcp -p tcp --dport 1229 -j ACCEPT<br/></div><br/>添加好后重启iptables 命令是:service iptables restart<br/><br/>这个时候小火箭就亮起来了 然后写代码进行测试就ok了<br/><br/>Step 11、代码如下<br/><br/><br/><div class="code"><br/>include &#039;SocketLog-master/php/SocketLog.class.php&#039;;<br/><br/>slog(array(<br/><br/>&#039;host&#039;=&gt;&#039;localhost&#039;,//websocket服务器地址，默认localhost<br/><br/>&#039;port&#039;=&gt;&#039;1229&#039;,//websocket服务器端口，默认端口是1229<br/><br/>&#039;optimize&#039;=&gt;false,//是否显示利于优化的参数，如果运行时间，消耗内存等，默认为false<br/><br/>&#039;show_included_files&#039;=&gt;false,//是否显示本次程序运行加载了哪些文件，默认为false<br/><br/>&#039;error_handler&#039;=&gt;false,//是否接管程序错误，将程序错误显示在console中，默认为false<br/><br/>&#039;force_client_id&#039;=&gt;&#039;&#039;,//日志强制记录到配置的client_id,默认为空wjh_zfH5NbLn<br/><br/>&#039;allow_client_ids&#039;=&gt;array()////限制允许读取日志的client_id，默认为空,表示所有人都可以获得日志。wjh_zfH5NbLn<br/><br/>),&#039;set_config&#039;);<br/><br/>slog(&#039;socketlog success&#039;);<br/><br/>?&gt;<br/><br/></div><br/><br/><a href="http://www.dzhope.com/attachment.php?fid=246" target="_blank"><img src="http://www.dzhope.com/attachment.php?fid=246" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] centos下安装nodejs及websocket]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>