能不能再WORKERMAN里加一個FASTCGI的CILENT 這樣可以直接對接FPM,以前的NGXIN-FPM業(yè)務(wù)邏輯可以直接遷移過去
你是說給workerman加一個fastcgi協(xié)議讓workerman支持fastcgi服務(wù)吧?
以前的NGXIN-FPM業(yè)務(wù)邏輯遷移到workerman可以直接用workerman的http協(xié)議,不需要nginx,也不需要workerman支持fastcgi協(xié)議。當(dāng)然也可以給按照workerman的接口寫一個fastcgi協(xié)議,但是感覺用處不大。
如果老代碼里沒有強(qiáng)依賴FPM是可以做到遷移到worekrman的。但是目前的所有mvc框架都是基于FPM模式開發(fā)的,用了很多php-cli(workerman是基于php-cli)不兼容的代碼,例如header setcookie exit die 等等,所以要遷移還是要做一些兼容的。
老大 現(xiàn)在我們是這樣 業(yè)務(wù)都是基于nginx+fpm的,有新的需求需要長連接場景,想用WORKERMAN做TCPSERVER維持連接狀態(tài),再把請求轉(zhuǎn)發(fā)到FPM上處理,不經(jīng)NGINX節(jié)約一次HTTP的解析,直接走FASTCGI協(xié)議。
$this->_sock = pfsockopen($this->_host, $this->_port, $errno, $errstr, $this-
$this->_sock = fsockopen($this->_
我看他源碼里打開一個SOCK連接有兩種方式,第一種是持久連接,那是不是WORKERMAN+FPM的形式用持久的比較好些。
還有個題外話請教下。。workerman listen后 子進(jìn)程accpet監(jiān)聽用的fd 比如這個fd是80端口,之后有客戶端connect進(jìn)來后,accpet會返回一個新的fd用于和客戶端連接用,那這個fd的端口是多少呢,如果是非80端口 防火墻應(yīng)該會攔截的啊,這個怎么繞過的限制啊