WordPress網站出現Error establishing a database connection原因及解決方法

WordPress網站出現Error establishing a database connection(建立數據庫連接時出錯),重啓服務器或者用service mysqld restart命令(MySQL數據庫)或者systemctl restart mariadb.service命令(MariaDB數據庫)可以暫時解決問題,過一段時間還會出現。

出現問題的服務器配置:1G內存,1核CPU,1M寬帶。

分析原因可能是Apache2佔用內存過高,MySQL/MariaDB運行一段時間後會自動退出所致。

個人的解決方法是直接擴大了服務器內存,增加到了2GB內存,之後就沒出現過這個問題了。最後更新時間2020年1月18日。

以下是其他網友的一些解決方法,可能存在不足,請自行判斷,僅供參考。


解決方法:
1、將Apache2換成Nginx或其他輕量級Web服務器。
2、不想更換Apache2的可以增大服務器物理內存或添加Swap交換文件。
3、不想更換Apache2也不想增加服務器物理內存,且網站訪問量不大,可以嘗試修改Apache2配置文件(文件路徑/etc/httpd/conf/httpd.conf)。Apache2目前有三種穩定的MPM(Multi-Processing Module,多進程處理模塊)模式,分別是prefork,worker和event。(查看Apache2的MPM模式,可以使用httpd -V命令。)

編輯/etc/httpd/conf/httpd.conf文件,添加下面內容:

<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 100
MaxRequestWorkers 100
MaxConnectionsPerChild 2000
</IfModule>

說明:

<IfModule mpm_prefork_module>
StartServers 5 #推薦設置:小=默認 中=20~50 大=50~100
MinSpareServers 5 #推薦設置:與StartServers保持一致
MaxSpareServers 10 #推薦設置:小=20 中=30~80 大=80~120
ServerLimit 150 #推薦設置:小=500 中=500~1500 大型=1500~3000
MaxRequestWorkers 150 #推薦設置:小=500 中=500~1500 大型=1500~3000
MaxRequestsPerChild 0 #推薦設置:小=10000 中或大=10000~500000
</IfModule>

備註:在Apache2.3.13以前的版本MaxRequestWorkers被稱爲MaxClients。此外,設置ServerLimit參數最好與MaxRequestWorkers的值保持一致。

參考資料:

0、https://www.itbulu.com/wp-database-connection.html

1、https://www.cnblogs.com/LUO77/p/5821530.html

2、https://www.mybj123.com/1314.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章