使用php-vmstat遇到的麻烦
workerman-vmstat是一个基于workerman的扩展,用于监听服务器应用对内存、cpu消耗的友好的查看功能,具体介绍可以去git上看: https://github.com/walkor/workerman-vmstat
今天在使用基于workerman的一个扩展时,遇到了一些问题:
1.不能正常启动
原来是55555端口没开,可以去这个地方查看你的服务器的这个端口是否开放: http://tool.chinaz.com/port/
对防火墙设置进行设置:vi /etc/sysconfig/iptables
最近还开启了8989端口:(在3行前加上1行就算是开放了55555端口)
1 -A INPUT -p tcp -m state --state NEW -m tcp --dport 55555 -j ACCEPT
2 -A INPUT -p tcp -m state --state NEW -m tcp --dport 8989 -j ACCEPT
3 -A INPUT -j REJECT --reject-with icmp-host-prohibited
保存退出,并重启防火墙 service iptables restart
可以通过浏览器访问,看到界面。
通过查看源码的start.php文件可以看到:
// 加载所有Applications/*/start.php,以便启动所有服务 | |
foreach(glob(__DIR__.'/Applications/*/start*.php') as $start_file) | |
{ | |
require_once $start_file; | |
} | |
// 运行所有服务 | |
Worker::runAll(); |
是需要运行在一些应用上才能看到一些消耗情况的。。
运行成功之后吗,出现:
[root@myblog vmstat]# php start.php start -d
Workerman[start.php] start in DAEMON mode
----------------------- WORKERMAN -----------------------------
Workerman version:3.1.7 PHP version:5.6.7
------------------------ WORKERS -------------------------------
user worker listen processes status
root VMStatWorker Websocket://0.0.0.0:7777 1 [OK]
root WebServer http://0.0.0.0:55555 2 [OK]
----------------------------------------------------------------
Input "php start.php stop" to quit. Start success.
可是尝试用php start.php stop命令关闭它,并没有成功,可以通过网络状态查看:
nestat -anp grep | 55555
那么如何关闭呢:
使用上面那个命令可以查看到vmstat的进程id,只需要杀掉那个进程就好了:
kill -9 id号
此时再查看:nestat -anp grep | 55555
发现没有相关信息了。