《开源项目篇》-- Swoole-webcoket 小型公共聊天系统

项目部署

由于该项目是基于Laravel 5.6, Swoole 开发的,首先你得确保你服务器符合以下要求:

  • PHP >= 7.1.3
  • OpenSSL PHP扩展
  • PDO PHP扩展,注意需要php_mysql
  • Mbstring PHP扩展
  • Tokenizer PHP扩展
  • XML PHP扩展
  • Swoole PHP扩展

项目地址:

https://github.com/linyiyuan/swoole-webchat.git

项目演示地址:

http://webchat.linyiyuan.top

第1步:克隆代码

1
git clone https://github.com/linyiyuan/picture_bed.git

第2步:安装composer包

1
composer install

第3步:配置文件

1、在项目中找到.env.example文件,该文件作为项目的全局配置文件,在部署时需要复制成.env,执行以下命令

1
cp -f .env.example ./.env

打开配置文件,可以看到如下的部分配置:

1
2
3
SERVER_URL=当前服务器IP地址(如果是云服务器请填内网地址)
SERVER_PORT=启动服务的端口(一般填9501即可)
SERVER_ADMIN_PORT=启动服务的内网端口(可忽略不填)

紧接着我们打开public/dist/js/example.js 并修改:

1
ws = new WebSocket("ws://服务器地址:Websocket服务端口");//连接服务器

需要注意的是服务器地址如果有域名解析则需要填写域名,这是由于cookie可能会导致数据不同步

配置完上面还需配置一下第三方登录的一些参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

//GITHUB授权登录秘钥
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GITHUB_REDIRECT=http://webchat.linyiyuan.top/OAuth/callback/github

//微博授权登录秘钥
WEIBO_KEY=
WEIBO_SECRET=
WEIBO_REDIRECT_URI=http://webchat.linyiyuan.top/OAuth/callback/weibo

//QQ授权登录秘钥
QQ_APP_ID=
QQ_APP_KEY=
QQ_REDIRECT=http://webchat.linyiyuan.top/OAuth/callback/qq

//谷歌授权登录秘钥
GOOGLE_APP_ID=
GOOGLE_APP_KEY=
GOOGLE_REDIRECT=http://webchat.linyiyuan.top/OAuth/callback/google

2、根据.env文件修改各配置项,如果.env文件中没有存在key值则运行命令:

1
php artisan key:generate

3、配置stroage bootstrap 可写

1
chmod -R 777 stroage bootstrap

第4步:启动服务

在项目目录下运行一下命令

1
php artisan server:build Websocket

控制台显示The WebSocket Server is Started 说明启动成功,由于该命令需要后台常驻,我们可以使用supervisor 来进行管理,至此项目部署已经基本以完成,配置相应apache或者nginx 域名指向即可访问网站

项目展示

登录页面

注册页面

加入聊天室

多人聊天

夜晚模式

-------------本文结束感谢您的阅读-------------