如何为Buddypress配置Amazon EC2 t1.micro实例

时间:2014-11-05 18:04:43

标签: mysql wordpress apache amazon-ec2 buddypress

我们已经在EC2 t1.micro实例上安装了WordPress,并在其上安装了Buddypress,对于单个用户来说一切正常,但是当两个用户同时访问时,由于RAM问题,站点出现故障,httpd(Apache)占用最大内存,如何克服这个问题,http.conf文件中是否需要进行任何配置或者我需要安装任何网络/流量阻塞工具?

1 个答案:

答案 0 :(得分:2)

微型实例非常小,无法一起处理WordPress和MySQL。他们会吵架(过度使用磁盘交换功能)或者只是耗尽RAM而崩溃。

你将不得不进行大量的调整以在微型实例上实现这一点,并且它永远不会是稳定的。这是颈部疼痛。如果与托管费用相比,您的时间每小时超过1美元,则应升级到具有更多内存的实例,或者注册世界上每月6美元的共享主机帐户中的一个。

从哪里开始调整?尝试在Apache httpd.conf中设置一个值。

MaxRequestWorkers设为较低的数字。您可以尝试4.当此数字较低时,您也不会有许多同时从Apache / php连接到MySQL服务器的客户端。

当您的所有工作人员都忙时,来自Web浏览器客户端的请求将被排队。这可以正常工作,但可能会使您的网站对您的用户显得很慢。有关该排队的说明,请参阅Linux documentation for listen(2)中的backlog参数。

这将节省Apache RAM和MySQL资源。

http://httpd.apache.org/docs/current/mod/mpm_common.html#maxrequestworkers

然后你可能应该查看MySQL的my.conf文件,看看你可以玩什么。

编辑 MySQL,Apache和php都在同一个RAM池上 - 如果我没记错的话,还有512MB。减少Apache工作者的数量应该有助于控制Apache(以及可能在Apache服务器的地址空间中运行的php)的RAM使用。去做。

然后,在php.ini中找到memory_limit。在许多标准安装中,它设置为128M。尝试将其减少到64M或40M。这将使每个php实例使用更少的RAM。但是,如果您的WordPress安装很复杂(许多插件,花哨的主题),它可能会使某些页面无法加载。 WordPress会在内存耗尽时宣布问题。 http://php.net/memory-limit

然后,跳转到MySQL的my.ini。标准的MySQL安装附带一个名为my-small.ini的文件,其中包含一个小型MySQL实例的配置参数。你的可能很小:WordPress的表包含数百或数千行,而不是数十万行。保存旧的my.ini,然后将my-small.ini的内容复制到my.ini中。这样做后重新启动MySQL服务器。

这些步骤可以帮助您在微实例中发出吱吱声。他们可能没有。我想,他们值得一试。