pomelo命令行工具使用 - cynron/pomelo GitHub Wiki

概述

命令行工具pomelo是Pomelo框架提供的一个小工具,该工具能够帮助开发者更便捷、更有效率地进行应用开发。该工具包括的命令支持绝大多数的应用开发操作,包括创建初始项目、启动应用、停止应用、关闭应用等。用户可以通过pomelo --help命令查询相关命令及其使用说明。

命令行安装

当使用如下命令安装Pomelo的时候,pomelo会自动安装在相应的bin目录下:

$ npm install pomelo -g

命令介绍

目前pomelo支持如下命令及选项:

  • init:创建一个新项目,该项目中包含创建pomelo应用的基本文件及pomelo应用的简单示例。
  • start:启动应用及服务器。
  • list: 列出当前应用开启的所有服务器的信息,包括服务器Id、服务器类型、pid、堆使用情况、启动时长。
  • stop:关闭应用及服务器或者停止指定的服务器。
  • kill:强制关闭应用及服务器。
  • --version:列出当前使用pomelo的版本信息。
  • --help:列出所有pomelo支持的命令及使用说明。

命令使用说明

  • init

根据给出的路径或文件名创建新项目,支持相对路径和绝对路径。默认情况下为当前路径,项目名称为当前文件夹名称,命令如下:

$ pomelo init <dirname>

在创建新项目时,需要选择新项目使用的与客户端通信时使用的connector,1 代表 Websocket, 2 代表socket.io。当当前目录下有同名文件夹存在时,会提示是否覆盖,还是取消创建。

  • start

该命令需要在game-server目录下使用,用来启动Pomelo应用,有development和production两种模式,默认以development模式启动。用户可以通过--daemon参数让应用在后台运行,此时服务器的运行日志可以在game-server/logs/目录下查看,应用默认在前台运行。命令格式如下:

$ pomelo start [development|production] [--daemon]

用户可以在<project_dir>/game-server/config/servers.json中为不同的服务器中添加不同参数,这些参数是node和v8支持的参数,是用来指定和影响node及v8的行为的。例如,当我们想对某一个服务器开启调试的时候,就可以在服务器配置中,增加args配置项,并在args中配置开启调试的端口等,示例如下:

{"connector":[{"id":"connector-server-1", "host":"127.0.0.1", "port":4050, 
"clientPort":3050, "args":"--debug=[port]"}]}

当应用使用daemon模式运行时,系统需要安装forever模块,安装命令:

$ npm install forever -g
  • list

当应用启动后,该命令列出所有服务器信息。由于当执行此操作时,pomelo是作为监控管理框架的一个客户端的,在连接注册到master上的时候,需要进行身份验证。默认生成的项目中,有一个默认的用户名admin,口令也为admin,因此在不指定用户名和口令的时候,默认使用的用户名和口令均为admin,下面的stop命令和kill命令均需要使用用户名和口令验证,默认值与此处相同。应用的管理用户可以通过修改config/adminUser.json文件进行配置,具体的配置格式可以参考pomelo init生成的项目中的相关配置。

该命令需在项目的根目录或game-server目录下使用。命令格式如下:

$ pomelo [-u <username> -p <password>] list
  • stop

stop用来停止当前应用,优雅地关闭应用。和kill命令不同,这种关闭首先会切断客户端与服务器的连接,然后逐一关闭所有服务器。如果指定了服务器serverId的话,则会关闭特定的服务器。与list命令一样,需要权限验证,默认的用户名和密码均为admin。

该命令也需要在项目的根目录或game-server目录下使用,命令格式如下:

$ pomelo stop [-u <username> -p <password>] [serverId] 
  • kill

该命令强制关闭应用。在本地进行应用开发过程中,如果遇到kill之后还有服务器进程没有关闭的情况,可以增加force选项,强制关闭所有服务器进程。该操作相当地暴力,可能产生数据丢失等不好的影响,可以在开发调试时使用,不推荐在线上使用该命令。该命令同样也需要进行身份验证,具体方式同list和stop。

该命令需在项目的根目录或game-server下使用,命令格式如下:

$ pomelo kill [-u <username> -p <password>] [--force]
  • 其他

想查看当前Pomelo的版本时,可以使用如下命令,该命令可以在任何地方使用:

$ pomelo --version

想查看pomelo命令行工具的帮助时,可以使用如下命令,该命令可以在任何地方使用:

$ pomelo --help
⚠️ **GitHub.com Fallback** ⚠️