看了下文檔,win不支持workman的多線程模式,大體上看了下代碼,發(fā)現(xiàn)實現(xiàn)該功能需要基于pcntl模塊,而該模塊在win下并不支持,所以導(dǎo)致workman在win下最多支持256個并發(fā)鏈接。但是在某些特定環(huán)境下,因為某些客觀原因?qū)е碌?,無法更換服務(wù)器,也無法更換操作系統(tǒng),所以想了一些曲線救國的方法,希望大佬來指點一二
?
1.nginx+workman
?通過nginx的tcp轉(zhuǎn)發(fā)和負(fù)載均衡,將一個端口的設(shè)備鏈接,分發(fā)到4個實現(xiàn)相同功能的端口,同時在workman下開啟多個端口服務(wù),這樣不知道能不能撐起1024臺設(shè)備
2.workman+cygwin
cygwin提供了一個小型的unix虛擬環(huán)境,對于服務(wù)器資源有限,或者無法在阿里云/百度云上安裝虛擬機(jī)(查了一些例子,發(fā)現(xiàn)在虛擬主機(jī)上運行虛擬機(jī),效率很低,性能較差。自己也試了試,啟動虛擬機(jī)服務(wù)器就死機(jī))的同學(xué),似乎提供了一線生機(jī),但是仔細(xì)看一下就會發(fā)現(xiàn),Cygwin的PHP版本好像也是win下的,其php.ini文件所提供的擴(kuò)展方式似乎是dll,而非linux下的so,所以不知道是不是自己的方法有問題,還請大神賜教
3.nginx+workman+內(nèi)網(wǎng)linux服務(wù)器
這個就很簡單了,nginx+端口轉(zhuǎn)發(fā)內(nèi)網(wǎng)的linux服務(wù),然后將workman部署與linux,估計這個方法實現(xiàn)起來應(yīng)該是最簡單的,成功可能性也更高,多花一筆銀子買個linux服務(wù)咯
還請大佬們指點一下,方法12是否可行
辦法1可行,nginx接收 worker 開10個進(jìn)程監(jiān)聽10個端口 nginx分別轉(zhuǎn)發(fā)到不同進(jìn)程的端口上,保守一個最多200 ,10個進(jìn)程就是2000 了,超過1024