在linux下安装并使用websocket

时间:2020-12-20 23:54:57

前言

首先,对websocket要有一个简要的了解与认识

websocket是HTML5开始提供的一种浏览器与服务器进行全双工通讯的网络技术,属于应用层协议。

它基于TCP传输协议,并复用HTTP的握手通道。

但是如果对于我们来说可以很简单的这样来理解:

1、它可以被用于浏览器

2、它可以实现双向沟通

3、它操作很简单

本次安装使用centos6.8版本系统

一、安装nodejs

先在官网下载最新安装包

 英文网址:https://nodejs.org/en/download/

 中文网址:http://nodejs.cn/download/

uname -r
2.6.32-696.3.2.el6.x86_64

根据看到的版本信息进行相应的下载

在linux下安装并使用websocket

这里选择LTS(长期支持版本)linux (x86/x64)64-bit

下载成功后将tar包上传至服务器中,执行如下命令:

mkdir -p /application
上传至指定目录
tar xf node-v8.11.1-linux-x64.tar.xz
rm -rf node-v8.11.1-linux-x64.tar.xz 
mv node-v8.11.1-linux-x64/ nodejs
ln -s /application/nodejs/bin/npm /usr/local/bin/
ln -s /application/nodejs/bin/node /usr/local/bin/

最后执行至此用命令查看版本信息,如果没问题就证明nodejs安装成功

node -v
v8.11.1

二、安装redis

先在官网找到稳定版本进行下载

http://redis.io/download 

在linux下安装并使用websocket

下载4.0.9稳定版本

将下载下来的tar包上传到远端服务器并执行以下操作

tar xf redis-4.0.9.tar.gz -C /usr/local/
cd /usr/local/
ln -s redis-4.0.6/ redis
cd redis
make
编译完成后
cd src
make install

编译并安装完成即可,这里只需要安装,不需要部署

三、开始安装websocket

用npm安装laravel-echo-server

npm install -g laravel-echo-server

创建一个目录用于存放安装后的文件

[root@uat1 application]# pwd
/application
[root@uat1 application]# mkdir echo-server
[root@uat1 application]# cd echo-server/

开始安装

/application/nodejs/bin/laravel-echo-server init

接下来你会看到如下信息,我会告诉你怎么选择

? Do you want to run this server in development mode? Yes
? Which port would you like to serve from? 6001
? Which database would you like to use to store presence channel members? redis
? Enter the host of your Laravel authentication server. http://localhost
? Will you be serving on http or https? http
? Do you want to generate a client ID/Key for HTTP API? Yes
? Do you want to setup cross domain access to the API? Yes
? Specify the URI that may access the API: http://localhost:80
? Enter the HTTP methods that are allowed for CORS: GET, POST
? Enter the HTTP headers that are allowed for CORS: Origin, Content-Type, X-Auth-Token, X-Requested-W
ith, Accept, Authorization, X-CSRF-TOKEN, X-Socket-Id
从上到下分别为
运行服务的时候是否在开发模式?
该服务的访问端口?
希望连接的数据库?
私人频道验证的url域名
希望使用http还是htpps来通过浏览器访问该服务现有的频道信息?
是否生成客户端访问该服务API的ID/key?
是否允许跨域访问API?
通过浏览器访问该服务现有的频道信息的URL
允许使用哪些方法跨域访问?(一般是GET和POST)
允许使用哪些头部跨域访问?

按照这些选择后出现如下信息说明安装成功

Configuration file saved. Run laravel-echo-server start to run server.

开始尝试使用websocket

[root@uat1 echo-server]# /application/nodejs/bin/laravel-echo-server start

会出现如下信息:

在linux下安装并使用websocket

即证明你的websocket已经安装成功!