【小5聊】Linux服务器centos安装NodeJs简单实现WebSocket实时通讯,NodeJs服务器搭建(基础篇)

目录

【效果】

【前言】

【查看信息】

【NodeJs安装】

【启动服务】

【守护进程】

【服务端代码】

【客户端代码】

【卸载】


【效果】

【小5聊】Linux服务器centos安装NodeJs简单实现WebSocket实时通讯,NodeJs服务器搭建(基础篇)_第1张图片

【前言】

这里主要是借助了nodejs-websocket插件来实现,当然也是可以使用socket.io插件来实现

Linux的centos7服务器,可以选择FinalShell 、XShell等工具登录操作,以下操作通过XShell进行

【查看信息】

先查看自己centos7服务器上是否安装nodejs

【小5聊】Linux服务器centos安装NodeJs简单实现WebSocket实时通讯,NodeJs服务器搭建(基础篇)_第2张图片

node -v

npm -v

如果没安装就会提示查找不到文件目录以及命令没发现

【NodeJs安装】

  • 【yum】

什么是yum,大概了解下

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

关键词:从指定服务器地址下载软件并完成软件安装


命令:yum install -y nodejs npm

【小5聊】Linux服务器centos安装NodeJs简单实现WebSocket实时通讯,NodeJs服务器搭建(基础篇)_第3张图片

再次查看信息

【小5聊】Linux服务器centos安装NodeJs简单实现WebSocket实时通讯,NodeJs服务器搭建(基础篇)_第4张图片

【小5聊】Linux服务器centos安装NodeJs简单实现WebSocket实时通讯,NodeJs服务器搭建(基础篇)_第5张图片

  • 【npm】

什么是yum,大概了解下

npm,Node Package Manager,直译就是节点包管理器,用于安装nodejs-websocket

命令:npm install nodejs-websocket

出现如下警告提示,好像也是可以运行

【小5聊】Linux服务器centos安装NodeJs简单实现WebSocket实时通讯,NodeJs服务器搭建(基础篇)_第6张图片

【启动服务】

  • 防火墙开启3000端口

在启动服务器前,需要添加防火墙开放3000端口

防火墙开放端口命令:firewall-cmd --zone=public --add-port=3000/tcp --permanent

重新启动防火墙命令:firewall-cmd --reload

  • 在以下目录创建server.js文件

【小5聊】Linux服务器centos安装NodeJs简单实现WebSocket实时通讯,NodeJs服务器搭建(基础篇)_第7张图片

  • 直接定位到nodejs文件夹,然后启动

命令:node server.js

  • 或者具体路径启动

命令:node /data/nodejs/server.js

备注:进入服务后,可以通过Ctrl+C退出

【守护进程】

手动启动服务最大的缺点就是,退出XShell链接,自动就退出了,这个显然不是我们想要的,这个时候forever好兄弟就来了

  • 安装forever

命令:npm install forever -g

  • 启动

命令:forever start /data/nodejs/server.js

备注:server.js就是自己上传的js服务器文件,具体看自己的目录

  • 关闭

命令:forever stop /data/nodejs/server.js

【服务端代码】


var ws = require("nodejs-websocket");
console.log("WebSocket开始连接...");

var onlinecount = 0;
var server = ws.createServer(function (conn) {
    
    //监听文本
    conn.on("text", function (str) {
        console.log("收到的信息为:" + str)

        server.connections.forEach(function (conn) {
            conn.sendText(str);
        });
    })

    //监听当前链接是否关闭
    conn.on("close", function (code, reason) {

        onlinecount -= 1;
        online();

        console.log("关闭连接");
    });

    //监听当前连接是否发生错误
    conn.on("error", function (code, reason) {

        onlinecount -= 1;
        online();

        console.log("异常关闭")
    });


    onlinecount += 1;
    online();
}).listen(3000, '服务器非127的内网IP');

//在线人数
function online() {

    server.connections.forEach(function (conn) {
        conn.sendText("###online###" + onlinecount);
    });
}

console.log("WebSocket连接成功");

【客户端代码】




    
    nodejs简单通讯
    
    


    
正在连接...
当前在线客户端数量:
发送

【小5聊】Linux服务器centos安装NodeJs简单实现WebSocket实时通讯,NodeJs服务器搭建(基础篇)_第8张图片

【小5聊】Linux服务器centos安装NodeJs简单实现WebSocket实时通讯,NodeJs服务器搭建(基础篇)_第9张图片

 

【卸载】

1、删除:yum remove nodejs npm -y

2、查找文件夹

【小5聊】Linux服务器centos安装NodeJs简单实现WebSocket实时通讯,NodeJs服务器搭建(基础篇)_第10张图片

3、找到文件进行删除

rm -rf /root/...具体根据自己的目录来

你可能感兴趣的:(NodeJs)