登录 注册

登录

重要 VPS网站数据库无法连接

更多
2016年06月06日 13:54 - 2016年06月06日 13:56 #1 作者: RayW
VPS上的几个网站打开都提示:
Error displaying the error page: Application Instantiation Error: Could not connect to MySQL.

检查网站的configuration.php,数据库里的设置都是对的。
在vesta cp里新建数据库也提示
Error: Connection to localhost failed

不知道是哪里出了问题,感觉和joomla之门之前出现的问题很像。
白站你是怎么解决的?
最后修改: 2016年06月06日 13:56 由 RayW.

登录 或者   注册一个会员帐号 来参与讨论

更多
2016年06月06日 14:11 #2 作者: RayW
白站,你该不会也是用重启服务器解决的吧?

登录 或者   注册一个会员帐号 来参与讨论

更多
2016年06月06日 23:40 #3 作者: Joomla之门
Joomla之门网站前不久也发生过这个问题,刚开始我也不懂什么原因,每次都是无奈之下重启 VPS 服务器,马上就好了。—— 这个也能证明绝对不是数据库账号、密码有误之类的原因。

后来无意中在 VestaCP (我的 VPS 服务器是用 VestaCP 搭建的 web 环境)官方论坛,被别人提醒:fastcgi 如果配置不当就会导致狂吃内存,从而影响服务器稳定性(我的 VestaCP 开启了“多版本 PHP 自由选择” ,切换高版本 PHP 之后就是通过 fastcgi 这个模式工作),然后我恍然大悟:我的服务器之前运行在默认的 PHP 5.5 版本时就没发生过这种问题,最近切换到 PHP 5.6 之后就发生了。看来还是 fastcgi 的问题。

可是我对 fastcgi 并不熟悉啊?网友说,fastcgi 的设置及优化也不是几句话能说清,根据不同服务器有不同的设置技巧 —— 完了,这不是要新开一门课程的节奏么?我哪有时间再学这么多?

最后,我硬着头皮搜索了一下 fastcgi 常用的一些优化方案,最终选了一个看起来比较安全的,好像只有几行代码:

打开 /etc/httpd/conf.d/fcgid.conf 这个文件,在末尾插入:

FcgidConnectTimeout 20
MaxRequestLen 20000000
 
FcgidIOTimeout 120
 
FcgidMinProcessesPerClass 0
FcgidMaxProcessesPerClass 20
FcgidMaxProcesses 60

做了这个修改之后,貌似“无法连接到 mysql”的问题基本上很少发生了。

我不敢说这个办法是最佳的方案,但却是我能找到的最简单的办法。

如果你的服务器也是 VestaCP 搭建、并且也是在切换到高版本 PHP 之后才发生这种问题,你可以试试我的办法。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!
下列用户已致谢:: RayW

登录 或者   注册一个会员帐号 来参与讨论

更多
2016年06月07日 12:29 #4 作者: RayW
晚点试一下,我再反馈我的结果。
想做几个小站,本以为用了VPS会更放心些,没想到后面还埋着这么多事,真是耗死人。

登录 或者   注册一个会员帐号 来参与讨论