[TOC] ## 核心命令 在命令行中输入 `appnode agent`,可查看所有核心命令: ~~~raw # appnode agent NAME: appnode-agent - appnode agent command line tools USAGE: appnode-agent command [command options] [arguments...] AUTHOR(S): AppNode Dev Team <develop@appnode.com> COMMANDS: status status agent start start agent stop stop agent restart restart agent config config agent remove remove agent license license management ~~~ ### 受控端服务管理 #### 查看受控端运行状态 `appnode agent status` 示例(CentOS 6下): ~~~raw # appnode agent status appnode-agent-server (pid 2145) is running... ~~~ #### 启动受控端 `appnode agent start` 示例(CentOS 6下): ~~~raw # appnode agent start Starting AppNode Agent: [ OK ] ~~~ #### 停止受控端 `appnode agent stop` 示例(CentOS 6下): ~~~raw # appnode agent stop Stopping AppNode Agent: [ OK ] ~~~ #### 重启受控端 `appnode agent restart` 示例(CentOS 6下): ~~~raw # appnode agent restart Stopping AppNode Agent: [ OK ] Starting AppNode Agent: [ OK ] ~~~ ### 受控端配置 #### 查看受控端的所有配置 `appnode agent config` 示例: ~~~raw # appnode agent config agent_network : tcp agent_ip_addr : 0.0.0.0 agent_port : 9999 agent_protocol : http agent_domain_name : agent_tls_cert : <not set> agent_tls_key : <not set> agent_sign_key : ExRXPjabfcnrnTxHw2wa4rR830gPz542 ~~~ 各个参数的含义: * agent_network 受控端网络类型,为 tcp(TCP连接)或 unix(本地 Unix Domain Socket) * agent_ip_addr 受控端监听的 IP 地址,* 或 0.0.0.0 表示全部。 IP 地址必须为本地网卡中存在的 IP 地址。 * agent_port 受控端监听的 TCP 端口,范围为:1~65535。 * agent_protocol 受控端使用的协议,为 http 或 https。 * agent_domain_name 受控端绑定的域名,绑定域名后只能通过绑定的域名访问受控端。 * agent_tls_cert 受控端 SSL 证书文件路径。 受控端使用的协议为 https 时才有效。 * agent_tls_key 受控端 SSL 密钥文件路径。 受控端使用的协议为 https 时才有效。 * agent_sign_key 受控端 API 签名密钥。 请勿设置为空,否则你的服务器将可能会攻击。 #### 查看受控端的单个配置 `appnode agent config 配置项` 示例,查看监听的端口: ~~~raw # appnode agent config agent_port agent_port : 9999 ~~~ #### 修改受控端配置 `appnode agent config 配置项 配置值` 示例,修改绑定的域名为:1.node.appnode.com: ~~~raw # appnode agent config agent_domain_name 1.node.appnode.com # appnode agent config agent_network : tcp agent_ip_addr : 0.0.0.0 agent_port : 9999 agent_protocol : http agent_domain_name : 1.node.appnode.com agent_tls_cert : <not set> agent_tls_key : <not set> agent_sign_key : ExRXPjabfcnrnTxHw2wa4rR830gPz542 ~~~ 示例,取消域名绑定: ~~~raw # appnode agent config agent_domain_name "" # appnode agent config agent_network : tcp agent_ip_addr : 0.0.0.0 agent_port : 9999 agent_protocol : http agent_domain_name : agent_tls_cert : <not set> agent_tls_key : <not set> agent_sign_key : ExRXPjabfcnrnTxHw2wa4rR830gPz542 ~~~ ### 序列号授权管理 在命令行中输入 `appnode agent license`,可查看所有授权管理命令(和控制中心一样): ~~~raw # appnode agent license NAME: appnode-agent license - license management USAGE: appnode-agent license command [command options] [arguments...] COMMANDS: list show license list issue issue a new license update update all license delete delete a license bindip set or show bind ip address mac get MAC of current machine OPTIONS: --help, -h show help ~~~ #### 显示所有序列号授权 `appnode agent license list` 示例: ~~~raw # appnode agent license list -------- LICENSE LIST -------- SN : agent-free PCODE: agent-free PNAME: 受控端免费版 通用型 IP : 115.29.*.* FLG : agent,filemgr,service,usermgr,procmgr,crond,service,scriptmgr,logmgr,iptables,backupmgr TTL : 604800 NUP : 2016-09-28 12:27:45 CST EXP : 2016-10-04 12:27:45 CST END : 2106-02-07 14:28:15 CST PMN : Y MAC : 6a82113d1767e6f1116352df9e9f0f7731cb102a52204088dcc1566a75ae9044 STA : ACTIVE SN : T*6FV-W*0VH-F*XVD-H*FPO-Q*PG8 PCODE: agent-standard PNAME: 受控端标准版 通用型 IP : 115.29.*.* FLG : nginx,mysqld,php,sshd,storage,rsync,rsyncd,sysmonitor,pptpd,pureftpd,shadowsocks,memcached,smbd,redis,51sync TTL : 604800 NUP : 2016-09-28 12:27:45 CST EXP : 2016-10-04 12:27:45 CST END : 2017-09-23 20:53:08 CST PMN : N MAC : 6a82113d1767e6f1116352df9e9f0f7731cb102a52204088dcc1566a75ae9044 STA : ACTIVE ~~~ 各个参数的含义: * SN:序列号 * PCODE:产品代号 * PNAME:产品名称 * IP:授权使用的公网 IP 地址 * FLG:可以使用的应用代号列表 * TTL:每次更新的授权文件的过期时间 * NUP:下次授权更新时间 * EXP:本次授权到期时间 * END:授权最终到期时间 * PMN:是否终身有效 * MAC:机器码 * STA:授权状态 #### 激活序列号 `appnode agent license issue 序列号` 示例: ~~~raw # appnode agent license issue T*6FV-W*0VH-F*XVD-H*FPO-Q*PG8 -------- ISSUE SUCCESSFULLY -------- SN : T*6FV-W*0VH-F*XVD-H*FPO-Q*PG8 PCODE: agent-standard PNAME: 受控端标准版 通用型 IP : 115.29.175.190 FLG : nginx,mysqld,php,sshd,storage,rsync,rsyncd,sysmonitor,pptpd,pureftpd,shadowsocks,memcached,smbd,redis,51sync TTL : 604800 NUP : 2016-09-28 15:14:14 CST EXP : 2016-10-04 15:14:14 CST END : 2017-09-23 20:53:08 CST PMN : N MAC : 6a82113d1767e6f1116352df9e9f0f7731cb102a52204088dcc1566a75ae9044 STA : ACTIVE ~~~ #### 更新授权 更新所有序列号的授权: `appnode agent license update` 示例: ~~~raw # appnode agent license update updating agent-free: OK updating T*6FV-W*0VH-F*XVD-H*FPO-Q*PG8: OK ~~~ 更新单个序列号的授权: `appnode agent license update 序列号` 示例: ~~~raw # appnode agent license update T*6FV-W*0VH-F*XVD-H*FPO-Q*PG8 updating T*6FV-W*0VH-F*XVD-H*FPO-Q*PG8: OK ~~~ #### 删除授权 `appnode agent license delete 序列号` 示例: ~~~raw # appnode agent license delete T*6FV-W*0VH-F*XVD-H*FPO-Q*PG8 # appnode agent license list -------- LICENSE LIST -------- SN : agent-free PCODE: agent-free PNAME: 受控端免费版 通用型 IP : 115.29.*.* FLG : agent,filemgr,service,usermgr,procmgr,crond,service,scriptmgr,logmgr,iptables,backupmgr TTL : 604800 NUP : 2016-09-28 15:15:11 CST EXP : 2016-10-04 15:15:11 CST END : 2106-02-07 14:28:15 CST PMN : Y MAC : 6a82113d1767e6f1116352df9e9f0f7731cb102a52204088dcc1566a75ae9044 STA : ACTIVE ~~~ #### 绑定授权 IP 如果你的服务器有多个公网 IP,需要在激活序列号前,先指定使用哪个公网 IP 进行授权,否则可能导致以下两个问题: 在激活序列号时可能会随机选用一个公网 IP 进行授权 在验证授权时可能会随机选用一个公网 IP 进行验证,造成授权验证失败 查看: `appnode agent license bindip` 示例: ~~~raw # appnode agent license bindip BIND IP: ~~~ 上例中输出的绑定 IP 为空,表示未绑定 IP。 修改: `appnode ccenter license bindip IP地址` 示例: ~~~raw # appnode agent license bindip 115.29.*.* # appnode agent license bindip BIND IP: 115.29.*.* ~~~ 请注意:此处 IP 地址必须为你的服务器网卡上存在的 IP 地址,可在受控端的“系统信息”-“网络信息”中查看。 #### 查看机器码 `appnode agent license mac` 示例: ~~~raw # appnode agent license mac MAC: 6a82113d1767e6f1116352df9e9f0f7731cb102a52204088dcc1566a75ae9044 ~~~ ### 卸载 #### 卸载受控端 `appnode agent remove` 示例: ~~~raw # appnode agent remove >> Preparing to remove AppNode Agent... * Are you sure want to remove AppNode Agent? [y/N] y ...... ~~~ 输入卸载命令后,会提醒你是否确认卸载,请输入 y 后再再回车确认卸载。