美文网首页
layim配置文档

layim配置文档

作者: 回眸淡然笑 | 来源:发表于2019-05-16 10:07 被阅读0次

1、数据库配置

在文件目录的application下的全局数据库配置文件 database.php

    // 数据库类型
    'type'           => 'mysql',
    // 服务器地址
    'hostname'       => '127.0.0.1',
    // 数据库名
    'database'       => 'layim',
    // 用户名
    'username'       => 'root',
    // 密码
    'password'       => 'root',

如果你的模块使用了不同的数据库信息,那么可以单独配置每个模块的数据库信息,如index模块


QQ截图20190516092743.jpg

2、系统目录结构说明

project  应用部署目录
├─application           应用目录(可设置)
│  ├─common             公共模块目录(可更改)
│  ├─index              模块目录(可更改)
│  │  ├─config.php      模块配置文件
│  │  ├─common.php      模块函数文件
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  └─ ...            更多类库目录
│  ├─command.php        命令行工具配置文件
│  ├─common.php         应用公共(函数)文件
│  ├─config.php         应用(公共)配置文件
│  ├─database.php       数据库配置文件
│  ├─tags.php           应用行为扩展定义文件
│  └─route.php          路由配置文件
├─extend                扩展类库目录(可定义)
├─public                WEB 部署目录(对外访问目录)
│  ├─static             静态资源存放目录(css,js,image)
│  ├─index.php          应用入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于 apache 的重写
├─runtime               应用的运行时目录(可写,可设置)
├─vendor                第三方类库目录(Composer)
├─thinkphp              框架系统目录
│  ├─lang               语言包目录
│  ├─library            框架核心类库目录
│  │  ├─think           Think 类库包目录
│  │  └─traits          系统 Traits 目录
│  ├─tpl                系统模板目录
│  ├─.htaccess          用于 apache 的重写
│  ├─.travis.yml        CI 定义文件
│  ├─base.php           基础定义文件
│  ├─composer.json      composer 定义文件
│  ├─console.php        控制台入口文件
│  ├─convention.php     惯例配置文件
│  ├─helper.php         助手函数文件(可选)
│  ├─LICENSE.txt        授权说明文件
│  ├─phpunit.xml        单元测试配置文件
│  ├─README.md          README 文件
│  └─start.php          框架引导文件
├─build.php             自动生成定义文件(参考)
├─composer.json         composer 定义文件
├─LICENSE.txt           授权说明文件
├─README.md             README 文件
├─think                 命令行入口文件

3、workerman 目录说明

vendor
├─App
│  ├─Event.php                废弃文件,无用
├─Config
│  ├─Db.php                    workerman数据库配置信息
├─Init
│  ├─Events.php                 workman业务层代码
│  ├─start.php                  workman启动脚本
│  ├─start_gateway.php          gateway进程启动脚本,包括端口号等设置
│  ├─start_businessworker.php   businessWorker进程启动脚本
│  ├─start_register.php        注册服务启动脚本          
├─start_for_win.bat            win系统下启动脚本
...

3.1workerman 配置

Db.php

各参数参考database.php来进行配置
    public static $db1 = array(
        'host'    => '127.0.0.1',
        'port'    => 3306,
        'user'    => 'root',
        'password' => 'root',
        'dbname'  => 'layim',
        'charset'    => 'utf8'
    );

start_businessworker.php

<?php
// 自动加载类
require_once __DIR__ . '/../../../autoload.php';
use \Workerman\Worker;
use \GatewayWorker\BusinessWorker;

// bussinessWorker 进程
$worker = new BusinessWorker();
// worker名称
$worker->name = 'ChatBusinessWorker';
// bussinessWorker进程数量
$worker->count = 4;
// 服务注册地址
//如果不是本地运行,请修改为你实际服务器内网地址
$worker->registerAddress = '127.0.0.1:1237';
$worker->eventHandler = 'Events';
// 如果不是在根目录启动,则运行runAll方法
if(!defined('GLOBAL_START'))
{
    Worker::runAll();
}

start_gateway.php

// 设置进程数,gateway进程数建议与cpu核数相同
$gateway->count = 4;
// 分布式部署时请设置成内网ip(非127.0.0.1)
$gateway->lanIp = '127.0.0.1';//本地运行,可不修改
// 内部通讯起始端口,假如$gateway->count=4,起始端口为4000
// 则一般会使用4000 4001 4002 4003 4个端口作为内部通讯端口 
$gateway->startPort = 4000;
// 心跳间隔
$gateway->pingInterval = 50;
//客户端必须定时发送心跳给服务端,否则pingNotResponseLimit*pingInterval秒内没有任何数据发来则关闭对应连接,并触发onClose
$gateway->pingNotResponseLimit = 0;

// 服务端定时向客户端发送的数据
$gateway->pingData = '{"type":"ping"}';
// 服务注册地址,同$gateway->lanIp
$gateway->registerAddress = '127.0.0.1:1237';

start_register.php无需做修改

3.2、workerman启动方式

如果你是在windows上运行的话,直接双击/vendor/workerman/Conf/start_for_bat.bat即可 如果你是在linux或mac上运行的话,请进入/vendor/workerman/application/Init目录,然后运行

php start.php start -d

workerman相关命令

开启服务 命令如下 启动 以debug(调试)方式启动

php start.php start

以daemon(守护进程)方式启动

php start.php start -d

停止 php start.php stop

重启 php start.php restart

平滑重启 php start.php reload

查看状态 php start.php status

查看连接状态 php start.php connections

3.3、注意事项

1.如果是在云服务器运行,那么请开放workerman 的gateway 进程端口8282
2.如果在linux服务器运行,请对runtime目录以及public/uploads目录 777权限
(chmod -R 777 runtime / chmod -R 777 public/uploads)
3.当全部启动成功后在浏览器访问IP:8282能看到如下信息,则代表服务启动成功

400 Bad Request
Sec-WebSocket-Key not found.
This is a WebSocket service and can not be accessed via HTTP.
See http://wiki.workerman.net/Error1 for detail.

如果启动失败,对照官方手册排查
http://doc.workerman.net/faq/workerman-start-fail.html

4、前端相关设置

4.1 soeket配置

1) 在前端首页layim\application\index\view\index\index.html以及相关需要调用socket进行通讯的页面进行如下初始化new WebSocket('ws://IP:8282');
2) socket相关api

socket.onopen = function(){} //连接成功时触发
    
socket.onmessage = function(res){ }//监听收到的消息
socket.send(data); //发送消息

4.2 layim相关初始化

在index.html中的js进行layim的初始化配置

layim.config({

    //获取主面板列表信息
    init: {
      url: "{:url('index/getList')}" //接口地址(返回的数据格式见下文)
      ,type: 'get' //默认get,一般可不填
      ,data: {} //额外参数
    }
    //获取群员接口
    ,members: {
      url: "{:url('index/getMembers')}" //接口地址(返回的数据格式见下文)
      ,type: 'get' //默认get,一般可不填
      ,data: {} //额外参数
    },
    uploadFile: {
        url: "{:url('upload/uploadFile')}"
    }
    ,uploadImage: {
        url: "{:url('upload/uploadimg')}"
    }
    ,brief: false //是否简约模式(默认false,如果只用到在线客服,且不想显示主面板,可以设置 true)
    ,title: '我的LayIM' //主面板最小化后显示的名称
    ,maxLength: 3000 //最长发送的字符长度,默认3000
    ,isfriend: true //是否开启好友(默认true,即开启)
    ,isgroup: true //是否开启群组(默认true,即开启)
    ,right: '0px' //默认0px,用于设定主面板右偏移量。该参数可避免遮盖你页面右下角已经的bar。
    ,chatLog: "{:url('Chatlog/index')}" //聊天记录地址(如果未填则不显示)
    ,find: "{:url('findgroup/index')}" //查找好友/群的地址(如果未填则不显示)
    ,copyright: false //是否授权,如果通过官网捐赠获得LayIM,此处可填true
});

更多请查看源码

相关文章

网友评论

      本文标题:layim配置文档

      本文链接:https://www.haomeiwen.com/subject/inkbaqtx.html