windows环境下用workerman做系统集成
来源:互联网 发布:lufylegend.js 编辑:程序博客网 时间:2024/06/05 10:34
系统集成的关键是程序之间的数据交换,workerman能很好的完成这项工作,下图是一个简单的系统集成示例,采用浏览器做UI的原因是方便远程(web,lan都可以,不过web还是由安全机制更好的apache中转比较好)对系统进行操控,而且在UI添加/删减功能非常方便:
但是在windows环境下,workerman不具备进程守护能力,最简单的解决方案是将workerman封装成windows service来实现进程守护。
封装工具:instsrv.exe, srvany.exe,由microsoft的Windows Server 2003 Resource Kit Tools包所提供。
下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=17657
下载到的Windows Server 2003 Resource Kit Tools包是一个自解压文件rktools.exe,运行后从解压出来的文件中,找到instsrv.exe, srvany.exe这2个文件,然后将它们复制到workerman安装目录下,再在该目录下创建4个空白的txt文件,修改txt文件的扩展名为.bat:
install.bat:用于将workerman程序封装成windows service
uninstall.bat:用于删除 install.bat所安装的所有windows service
startAll.bat:用于启动 install.bat所安装的所有windows service
stopAll.bat:用于停止 install.bat所安装的所有windows service
示例:workerman-chat-for-win的目录结构,蓝色背景的6个文件为我们前面所添加的文件:
选中install.bat-->右键-->编辑,添加以下内容:
注意:
1:set phpDir=D:\wamp64\bin\php\php7.0.10\(改为你的PHP安装目录)
2:set regDir=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\
也可以用:
set regDir=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
代替。效果一样,但注意只能用一种,不要混用。
3:需要添加其它workerman组件的话,复制REM ######## install workman_business ########后面的内容,粘贴到文档末尾,修改:
set cxSrv=你想要的服务名称(字母,下划线,数字组成)
set cxApp=你的workerman组件的绝对路径和文件名
--------以下为install.bat文件内容---------------------------------------------
REM: install.bat for workerman-chat-for-win
@echo off
set cxDir=%~dp0
set wraper=%cxDir%srvany.exe
set appDir=%cxDir%Applications\chat\
set regDir=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\
set phpDir=D:\wamp64\bin\php\php7.0.10\
set cxPHP=%phpDir%php.exe
REM ########install workman_register ########
set cxSrv=workman_register
set cxApp=%appDir%start_register.php
set cxReg=%regDir%%cxSrv%\Parameters\
instsrv %cxSrv% %wraper%
reg add %cxReg% /v AppDirectory /t REG_SZ /d "%phpDir%" /f
reg add %cxReg% /v Application /t REG_SZ /d "%cxPHP%" /f
reg add %cxReg% /v AppParameters /t REG_SZ /d "%cxApp%" /f
REM ######## install workman_webServer ########
set cxSrv=workman_webServer
set cxApp=%appDir%start_web.php
set cxReg=%regDir%%cxSrv%\Parameters\
instsrv %cxSrv% %wraper%
reg add %cxReg% /v AppDirectory /t REG_SZ /d "%phpDir%" /f
reg add %cxReg% /v Application /t REG_SZ /d "%cxPHP%" /f
reg add %cxReg% /v AppParameters /t REG_SZ /d "%cxApp%" /f
REM ######## install workman_gateway ########
set cxSrv=workman_gateway
set cxApp=%appDir%start_gateway.php
set cxReg=%regDir%%cxSrv%\Parameters\
instsrv %cxSrv% %wraper%
reg add %cxReg% /v AppDirectory /t REG_SZ /d "%phpDir%" /f
reg add %cxReg% /v Application /t REG_SZ /d "%cxPHP%" /f
reg add %cxReg% /v AppParameters /t REG_SZ /d "%cxApp%" /f
REM ######## install workman_business ########
set cxSrv=workman_business
set cxApp=%appDir%start_businessworker.php
set cxReg=%regDir%%cxSrv%\Parameters\
instsrv %cxSrv% %wraper%
reg add %cxReg% /v AppDirectory /t REG_SZ /d "%phpDir%" /f
reg add %cxReg% /v Application /t REG_SZ /d "%cxPHP%" /f
reg add %cxReg% /v AppParameters /t REG_SZ /d "%cxApp%" /f
选中uninstall.bat-->右键-->编辑,添加以下内容:
注意:
写完才发现,貌似reg delete语句不是必须的,需验证,不想折腾了。
--------以下为uninstall.bat文件内容---------------------------------------------
REM: install.bat for workerman-chat-for-win
@echo off
set regDir=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\
reg delete %regDir%workman_register\Parameters
instsrv.exe workman_register remove
reg delete %regDir%workman_webServer\Parameters
instsrv.exe workman_webServer remove
reg delete %regDir%workman_gateway\Parameters
instsrv.exe workman_gateway remove
reg delete %regDir%workman_business\Parameters
instsrv.exe workman_business remove
选中startAll.bat-->右键-->编辑,添加以下内容:
--------以下为uninstall.bat文件内容---------------------------------------------
@echo off
sc start workman_register
sc start workman_webServer
sc start workman_gateway
sc start workman_business
选中stopAll.bat-->右键-->编辑,添加以下内容:
--------以下为stopAll.bat文件内容---------------------------------------------
@echo off
sc stop workman_business
sc stop workman_gateway
sc stop workman_webServer
sc stop workman_register
选中startAll.bat-->右键-->以管理员身份运行(A);
此电脑-->右键-->管理-->服务和应用程序\服务,在右侧窗口可以看到刚才安装好的四个服务
- windows环境下用workerman做系统集成
- windows下安装workerman-statistics
- 【workerman】CentOS下的workerman对应的环境配置
- thinkphp让workerman 跑起来, 新建一个workerman,怎么跑起来windows下
- WorkerMan windows 压力测试
- Windows下用VirtualBox搭建Ubuntu环境做Ruby on Rails开发
- 在Windows环境下用mahout做推荐系统简单例子
- Workerman
- Workerman
- workerman
- Workerman
- Windows 下用批处理做守护进程
- 阿里云-workerman 服务器环境配置
- 一个只在系统集成环境下随机概率很低的crash问题(s11)的解决
- linux环境下做RAID5
- OpenWRT环境下做开发
- windows下用apache配置php环境
- 关于Windows 环境下,Android 平台使用PocketSphinx做离线语音识别
- mongodb $addToSet
- R-CNN阅读笔记
- 管道和socket的区别
- Python爬虫从入门到死亡(一)-什么是爬虫
- Igh Etherlab-master安装
- windows环境下用workerman做系统集成
- java中*和**的作用
- java基础(十五) ---- StringTokenizer
- noip2017 Day1 T1 小凯的疑惑math (数论)
- 12.02WC模拟题解
- python代码写入ios
- 分布式爬虫
- webview界面的滑动监听
- cf div2 #449 C.Nephren gives a riddle