日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

切换apache的prefork和worker模式

發(fā)布時間:2023/11/27 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 切换apache的prefork和worker模式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Apache HTTP服務器被設計為一個強大的、靈活的能夠在多種平臺以及不同環(huán)境下工作的服務器。
不同的平臺和不同的環(huán)境經(jīng)常產(chǎn)生不同的需求,或是為了達到同樣的最佳效果而采用不同的方法。
Apache憑借它的模塊化設計很好的適應了大量不同的環(huán)境。
這一設計使得網(wǎng)站管理員能夠在編譯時和運行時憑借載入不同的模塊來決定服務器的不同附加功能。

Apache2.0將這種模塊化的設計延伸到了web服務器的基礎功能上。
這個版本帶有多路處理模塊(MPM)的選擇以處理網(wǎng)絡端口綁定、
接受請求并指派子進程來處理這些請求。
比如,需要更好伸縮性的可以選擇象worker或event這樣線程化的MPM,
而需要更好的穩(wěn)定性和兼容性以適應一些舊的軟件可以用prefork 。

在Redhat Linux的主要版本as4上,apache版本為httpd-2.0.5x,
默認為prefork模式,主要是考慮到穩(wěn)定性的原因。
要切換到worker模式,則需要登錄到linux上,進行如下操作:

進入/usr/sbin目錄
cd /usr/sbin

將當前的prefork模式啟動文件改名
mv httpd httpd.prefork

將worker模式的啟動文件改名
mv httpd.worker httpd

修改配置文件vi /etc/httpd/conf/httpd.conf
找到里邊的如下一段,可適當修改負載等參數(shù):
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>

重新啟動服務
/etc/init.d/httpd restart

即可換成worker方式啟動apache2

注意這里可能會遇到錯誤:

Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP. Pre-configuration failed!
解決方法是將/etc/httpd/conf.d/php.conf文件中的LoadModule開頭的那行代碼注釋掉。
--------------------------

注意:處于穩(wěn)定性和安全性考慮,不建議更換apache2的運行方式,使用系統(tǒng)默認prefork即可
另外很多php模塊不能工作在worker模式下,例如redhat linux自帶的php也不能支持線程安全
所以最好不要切換工作模式。
=========================================

# /etc/init.d/httpd stop
[root@web ~]# which apachectl
/usr/sbin/apachectl
[root@web ~]# which httpd
/usr/sbin/httpd
[root@web ~]# cd /usr/sbin/
[root@web ~]# mv httpd httpd.prefork
# mv httpd.worker httpd
# httpd -k start

總結(jié)

以上是生活随笔為你收集整理的切换apache的prefork和worker模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。