泛微E-OFFICE下的e-office web服務狀態(tài)顯示“已停運”的解決辦法;(AH00354: Child: Starting 150 worker threads)
[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務,掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!
前幾天有群里網友安裝了泛微的E-OFFICE_10.0版本,過一段時間就會顯示eoffice web服務就顯示已停用,這很尷尬,這網友也是屬于測試階段,一直說不曉得為啥就自動停止了,具體圖如下;
讓他看下安裝目錄下的log文件,看看日志顯示啥問題;錯誤的日子如下;
[Fri Oct 11 16:02:22.185000 2019] [core:notice] [pid 20776:tid 400] AH00094: Command line: 'D:\\e-office10\\apache\\bin\\httpd.exe -d D:/e-office10/apache'
[Fri Oct 11 16:02:22.193000 2019] [mpm_winnt:notice] [pid 20776:tid 400] AH00418: Parent: Created child process 21284
[Fri Oct 11 16:02:23.363000 2019] [mpm_winnt:notice] [pid 21284:tid 300] AH00354: Child: Starting 150 worker threads.
[Fri Oct 11 16:06:22.057000 2019] [mpm_winnt:notice] [pid 20776:tid 400] AH00422: Parent: Received shutdown signal -- Shutting down the server.
[Fri Oct 11 16:06:24.057000 2019] [mpm_winnt:notice] [pid 21284:tid 300] AH00364: Child: All worker threads have exited.
[Fri Oct 11 16:06:24.370000 2019] [mpm_winnt:notice] [pid 20776:tid 400] AH00430: Parent: Child process 21284 exited successfully.
從上面的AH00354: Child: Starting 150 worker threads.翻譯成中文的意思,因為我們在啟動apche的時候,會默認啟動150個子進程,如果你的主進程(apache服務)都已經退出關閉了,子進程當然也會結束;
apache異常關閉的原因還是有非常多,咱綜述幾種:例如:
1、apache版本和PHP版本不兼容;
2、PHP程序和PHP版本不兼容
3、程序代碼有問題
4、服務器配置過低,跟不上你的場景
5、端口沖突
apache詳細解決辦法:
1、apche版本和php版本不兼容很少,因為現(xiàn)在很多人用的是php環(huán)境一鍵安裝包;(這里E-OFFICE更不可能,因為他們是集成安裝包)
2、php程序和php版本不兼容這個還是有很多的,因為一些老的程序可能用的是php5.2、5.3寫的,如果你換成php5.5、5.6以上版本死活不行;而且還不容易找原因;
3、程序代碼一般不會有問題,因為有問題你代碼也跑不通,如果能跑通,只能說你寫的代碼沒有優(yōu)化,比如說有很多for循環(huán),大量的定時請求......
4、服務器配置低很少出現(xiàn);
5、apche端口沖突幾乎不會出現(xiàn),除非是新手,而且端口沖突你啟動的時候就會報錯了,不可能你啟動成功了還會出現(xiàn)端口沖突;而且做為一個有經驗的程序員,如果網站有裝兩個環(huán)境,都會一個用80端口,另一個用8080端口;
6、開啟opcache;
其實這個的問題就是服務器里的進程原因,apache有一個最大線程進程設置的參數,我們剛才說了,是150個;
找到配置文件在 ? apache\conf\extra\httpd-mpm.conf;找到如下節(jié)點,默認是這樣的,
# ThreadsPerChild: constant number of worker threads in the server process
# MaxConnectionsPerChild: maximum number of connections a server process serves
<IfModule mpm_winnt_module>
ThreadsPerChild ? ? ? ?150
MaxConnectionsPerChild ? 0
</IfModule>
改成如下:# ThreadsPerChild: constant number of worker threads in the server process
# MaxConnectionsPerChild: maximum number of connections a server process serves
<IfModule mpm_winnt_module>
ThreadsPerChild ? ? ? ?1024
MaxConnectionsPerChild ? 4096
</IfModule>
也就是說把ThreadsPerChild? ? ?150(有的是125) 改成比較大的數值,一定要針對自己的服務器,不然會搞死服務器的;
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!