WorkerMan

中文手册

http://doc3.workerman.net/

 
svn安装
 
 
http://www.linuxidc.com/Linux/2015-01/111748.htm
 
安装workman   Redis
kinmo
 
安装workerman:
 
需要root帐号
 
命令行运行 /usr/sbin/setenforce 0
命令行运行 echo "/usr/sbin/setenforce 0" >> /etc/rc.local
 
命令行运行 cd /root
 
命令行运行 yum install wget #安装下载工具
命令行运行 wget http://www.atomicorp.com/installers/atomic  #下载
 
 
命令行运行 sh ./atomic #安装
命令行运行 yum check-update #更新yum源
 
 
workerman对php环境的要求是:
1、php>=5.3.3,可以运行命令 php -v 查看版本
2、Linux系统要求php安装了posix和pcntl扩展
 
 
命令行运行   curl -Ss http://www.workerman.net/check.php | php   # 检测本地环境是否满足workerman。 
 
如果显示结果:(说明环境通过,反之需要安装php和pcntl和posix)
PHP Version >= 5.3.3                  [OK] 
Extension pcntl check                 [OK] 
Extension posix check                 [OK] 
 
 
http://blog.csdn.net/qdujunjie/article/details/43794597
 
用phpize安装pcntl扩展时遇到错误:  yum install php-devel
 
安装libevent扩展
 
 
若满足条件 则不用运行下面的东西
 
 
 
命令行运行 yum install php-cli php-process git gcc php-devel php-pear libevent-devel
命令行运行 pecl install channel://pecl.php.net/libevent-0.1.0   #提示libevent installation [autodetect]: 时按回车
命令行运行 echo extension=libevent.so > /etc/php.d/libevent.ini
 
 
安装其他的php插件
命令行运行  yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
 
下载workerman程序:
如果不做分布式,下载命令:
命令行运行  cd /var/www/html  #切换到php的工作目录
 
命令行运行  git clone https://github.com/walkor/workerman
 
分布式,下载命令:
命令行运行  git clone https://github.com/walkor/GatewayWorker
 
 
因为GatewayWorker内部支持了mysql,redis等功能,所以一般我们是使用GatewayWorker来部署
 
 
 
的帮助文档:
http://doc3.workerman.net/
 
 
GatewayWorker的帮助文档:
http://www.workerman.net/gatewaydoc/preface/README.html
 
 
配置支持redis
 
Linux:
https://github.com/phpredis/phpredis/releases   
看最近版本的文件包,下载
 
命令行运行  cd /usr/local/src #进入软件包存放目录
 
命令行运行  wget https://github.com/phpredis/phpredis/archive/2.2.7.zip
 
命令行运行  unzip 2.2.7.zip
 
命令行运行  cd phpredis-2.2.7
 
命令行运行  find / -name 'phpize' #查找phpize位置
 
命令行运行  /usr/bin/phpize #用phpize生成configure配置文件
 
命令行运行  find / -name 'php-config'  #查找php-config位置
 
命令行运行  ./configure --with-php-config=/usr/bin/php-config  #配置
 
命令行运行  make  #编译
 
命令行运行  make install  #安装
 
 会在/usr/lib64/php/modules/看到redis.so,说明编译成功
 
 
命令行运行  find / -name 'php.ini'  #查找php.ini位置
 
命令行运行  vi /etc/php.ini   #在最后一行添加以下内容
 
  extension="redis.so"
 
 
 
命令行运行  php -i  #查看phpinfo
           里面有内容:
redis
Redis Support => enabled
Redis Version => 2.2.7
 
            说明安装php的redis扩展成功! 
 
 
   windows:
https://github.com/phpredis/phpredis/downloads
 
注意:
通过phpinfo(); 查看其中的 Thread Safety 项,
如果是disabled 选择nts版
如果是enabled 选择ts版
根据php的版本来下载相应的扩展,版本必须对应
将php_redis.dll放入php的ext文件夹中,然后再php.ini添加代码extension=php_redis.dll
 
 
 
 
 
workman使用redis
http://happyliu.blog.51cto.com/501986/1622254  下载redis附件Redis.php
 
把Redis.php放到/GatewayWorker/Lib,  例如: /var/www/html/GatewayWorker/GatewayWorker/Lib
 
 
 
部署workman
 
 
http://www.workerman.net/gatewaydoc/gateway-worker-development/how-distributed.html
 
 
以debug方式启动
php start.php start
 
或者以daemon方式启动
php start.php start -d
 
 
启动gateway
cd /var/www/html/GatewayWorker/
 
以debug方式启动
php start.php start       #说明:start   stop restart
 
或者以daemon方式启动
php start.php start -d  #说明:start   stop restart
 
 
 
测试服务器 :
cd /usr/local/GatewayWorker
php start.php start  
 
 
在zf框架里面调用例子
 
<?php
DealCore_Classes_Workerman::config("wkserver_product"); //使用哪个workerman服务地址配置名称,这句可以不写,默认是"wkserver_default"
 
$user_client = DealCore_Classes_Workerman::instance('User');
 
// ==同步调用==
$uid = 567;
$ret_sync = $user_client->getInfoByUid($uid);
 
?>
 
 
----------------
使用workman 报pcntl错误。。。。。去php.ini 中 disable_functions 注释掉
 
调用报错 pdo 扩展没装 
先安装pdo模块
进到ext/pdo目录
/data/soft/php/bin/phpize 
./configure --with-php-config=/data/soft/php/bin/php-config --enable-pdo=shared
make
make install
 
进到 php 源码目录 ext pdo-mysql  /data/soft/php/bin/phpize 
./configure --with-php-config=/data/soft/php/bin/php-config --with-pdo-mysql=/data/soft/mysql
 
 
 
 
crontab -l(查看当前任务计划)
crontab -e
5 */1 * * *   php /var/workspace/uya/admin/web/auto/date/checkGrade.php   > /dev/null &
 
 
  svn resolved lib/verify/Product/Productservice.php (解决SVN冲突) 
 
 
 
 
 



原文地址:https://www.cnblogs.com/kinmos/p/6829782.html