歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

為什麼我的Apache服務器支持到一定數量的虛擬主機之後就不能再增加了

  問題分析:你可能到達你系統的某個資源的上限了。最有可能的是已經達到了預定義的文件描述符上限,有些庫程序(例如gethostbyname())不能得到文件描述符的時候沒有把它正確反饋給Apache,所以Apache沒有辦法自己發現這個問題。每個日志文件都需要一個文件描述符,如果每個虛擬主機分別定義了自己的錯誤日志和訪問日志,那麼需要兩個文件描述符號,每個監聽程序也要占用一個文件描述符號。一般每台機器支持的虛擬主機在128到250之間。  到達文件描述符上限之後,Apache會出現一些問題,比如以SIGSEGV dump core、服務掛起或者服務帶故障運行並且在錯誤日志中記錄其他錯誤。最常見的就是CGI程序不能運行。  解決:  1.減少監聽進程;  如果Apache沒有提供其他服務,那麼只需要讓它監聽在80端口。  2.減少日志文件的個數;  可以使用mod_log_config使得所有的記錄都寫入同一個文件,然後需要的時候再用腳本把它分離。  3.增大系統可用的文件描述符上限;  4.減少虛擬主機的個數;




Copyright © Linux教程網 All Rights Reserved