安裝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環境的要求是:
一、php>=5.3.3,能夠運行命令 php -v 查看版本
二、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 -e
5 */1 * * * php /var/workspace/uya/admin/web/auto/date/checkGrade.php > /dev/null &
svn resolved lib/verify/Product/Productservice.php (解決SVN衝突)