SMProxy 使用小记

963次阅读
没有评论

共计 2142 个字符,预计需要花费 6 分钟才能阅读完成。

下载最新发行版的 PHAR 文件,解压即用:

https://github.com/louislivi/SMProxy/releases/latest

在Linux下面需要给 bin/SMProxy 执行权限。

win下不需要,win下需要下载swoole Windows版。

运行命令

SMProxy [ start | stop | restart | status | reload ] [ -c | --config <configuration_path> | --console | -f | --force ]
  SMProxy -h | --help
  SMProxy -v | --version

Options:

  • start 运行服务
  • stop 停止服务
  • restart 重启服务
  • status 查询服务运行状态
  • reload 平滑重启
  • -h --help 帮助
  • -v --version 查看当前服务版本
  • -c --config 设置配置项目录
  • --console 前台运行(SMProxy>=1.2.5)
  • -f --force 强制执行(SMProxy>=1.3.0)

server.json 配置文件,在conf/下

{
  "server": {
    "user": "root", // 对外提供连接时的用户名
    "password": "123456", // 对外提供连接时的密码
    "charset": "utf8mb4",
    "host": "0.0.0.0",
    "port": "3366",
    "mode": "SWOOLE_PROCESS",
    "sock_type": "SWOOLE_SOCK_TCP",
    "logs": {
      "open":true,
      "config": {
        "system": {
          "log_path": "ROOT/logs",
          "log_file": "system.log",
          "format": "Y/m/d"
        },
        "mysql": {
          "log_path": "ROOT/logs",
          "log_file": "mysql.log",
          "format": "Y/m/d"
        }
      }
    },
    "swoole": {
      "worker_num": "swoole_cpu_num()",
      "max_coro_num": 6000,
      "open_tcp_nodelay": true,
      "daemonize": true,
      "heartbeat_check_interval": 60,
      "heartbeat_idle_time": 600,
      "reload_async": true,
      "log_file": "ROOT/logs/swoole.log",
      "pid_file": "ROOT/logs/pid/server.pid"
    },
    "swoole_client_setting": {
      "package_max_length": 16777215
    },
    "swoole_client_sock_setting": {
      "sock_type": "SWOOLE_SOCK_TCP"
    }
  }
}

database.json 配置文件 在 conf/ 下

{
  "database": {
    "account": {
      "root": { //这个名字对应 serverInfo server1 account
        "user": "root", // 连接你实际数据库的名称
        "password": "root" // 连接你实际数据库的密码
      }
    },
    "serverInfo": {
      "server1": {
        "write": {
          "host": ["127.0.0.1"],// 可选,读库地址 多个用[]表示
          "port": 3306,// 可选,读库端口
          "timeout": 2,// 连接超时时间(秒)
          "account": "root" // 与 account中的自定义用户名相对应
        },
        "read": {
          "host": ["127.0.0.1"],// 可选,读库地址 多个用[]表示
          "port": 3306, // 可选,读库端口
          "timeout": 2, // 连接超时时间(秒)
          "account": "root", // 与 account中的自定义用户名相对应
          "startConns": "swoole_cpu_num()*10", // 重载,对应databases
          "maxSpareConns": "swoole_cpu_num()*10", // 重载,对应databases
          "maxSpareExp": 3600, // 重载,对应databases
          "maxConns": "swoole_cpu_num()*20" // 重载,对应databases
        }
      }
    },
    "databases": { // 本节点对全局进行设置
      "dbname": { // 数据库别名
        "serverInfo": "server1",// 必选,自定义数据库连接信息 与serverInfo中的自定义数据库连接信息相对应
        "maxConns": "swoole_cpu_num()*2", // 必选, 全局  最大连接数,支持计算
        "maxSpareConns": "swoole_cpu_num()*2",//必选, 全局 最大空闲连接数,支持计算
        "startConns": "swoole_cpu_num()*2", // 可选,全局 启动连接数,支持计算
        "maxSpareExp": 3600, // 可选, 全局 最大空闲时间(秒),默认为0,支持计算
        "charset": "utf8mb4" //可选,  全局  该库编码格式
      }
    }
  }
}

正文完
 0
Eric chan
版权声明:本站原创文章,由 Eric chan 于2020-02-25发表,共计2142字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。