workerman安裝


1、workerman安裝

workerman是php的一個socket框架,簡化了socket編程,已經為很多企業所用,今天在centos的ngix+php下安裝了workerman,過程記錄如下。

官網上給的教程

但是我已經安裝了php環境,所以跳過上面的1,2,3,4步驟,直接下載workerman的zip包,進行第5步安裝。

進入workerman的目錄進行安裝如下。提示錯誤

[root@localhost server]# ls
mysql         nginx-1.4.4  phpredis             workerman
mysql-5.6.21  php          redis-2.8.19
nginx         php-5.5.7    redis-2.8.19.tar.gz
[root@localhost server]# cd workerman/
[root@localhost workerman]# cd workerman/
[root@localhost workerman]# ls
bin  Common  conf  Core  logs
[root@localhost workerman]# cd bin
[root@localhost bin]# ls
workermand
[root@localhost bin]# ./workermand start
Workerman is starting ...
----------------------- EXTENSION ------------------------------
* pcntl                     [NOT SUPORT BUT REQUIRED] 

You have to enable pcntl 

Workerman start fail

缺少擴展pcntl,這個擴展時workerman必須的,這個擴展時php包里有的,但是我在編譯php的時候沒有--enable-pcntl,在php的源碼包里果然找到了這個擴展源碼包,下面就是加入這個擴展。

加入這個擴展后,重啟php-fpm,nginx,再次開啟workerman

[root@localhost bin]# ./workermand start
Workerman is starting ...
----------------------- EXTENSION ------------------------------
* sysvshm                    [NOT SUPORT] 
* sysvmsg                    [NOT SUPORT] 
* libevent                   [NOT SUPORT] 
------------------------ WORKERS -------------------------------
user  worker             listen                             processes  status
root  BusinessWorker     none                                32         [OK] 
root  Gateway            tcp://0.0.0.0:8480                  4          [OK] 
root  StatisticProvider  tcp://0.0.0.0:55858                 1          [OK] 
root  StatisticWeb       tcp://0.0.0.0:55757                 1          [OK] 
root  StatisticWorker    udp://0.0.0.0:55656                 1          [OK] 
----------------------------------------------------------------
Workerman start success ...

workerman安裝成功。

 

2、workerman分離

雖然workerman可以作為Webserver的替代Nginx PHP-FPM等架構,並且性能也比Nginx PHP-FPM高,但是我們不推薦這樣做,因為PHP的WebServer市場上已經很成熟了,workerman不會再去做重復的事情。反而workerman把精力花在傳統WebServer無法勝任的角色上,例如非HTTP協議的應用、TCP長鏈接應用、UDP應用、IM、游戲服務器、物聯網等。

下載一個基於workerman的聊天框架https://github.com/walkor/workerman-chat,文件結構如下

 從workerman的配置文件可以看到,只要將項目放在applications文件夾下都可以運行,因為workerman包含了其配置文件。

 用戶訪問的是Web目錄,如果Web目錄放在這里,web服務器采取的是workerman的內置的服務器,我想將這個Web分離出來,用我的nginx服務器,workerman只是做socket的解析,如何來實現呢?其實很簡單

 我的機器上的lnmp可以訪問的路徑是/alidata/www/yii2newstest/web,我只要上面的Web目錄放在這個/alidata/www/yii2newstest/web中,其他的不用做任何的更改,就可以實現訪問了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM