众所周知,微型实例太小,无法同时处理 WordPress 和 MySQL。他们会崩溃(过度使用磁盘交换功能)或者只是用完 RAM 并崩溃。
您将不得不做很多调整才能在微型实例上正确地做到这一点,并且它永远不会是坚如磐石的。这是颈部疼痛。如果您的时间与托管费用相比每小时价值超过 1 美元,您应该升级到具有更多 RAM 的实例,或者注册世界上众多每月 6 美元的共享托管帐户之一。
从哪里开始调整?尝试在 Apache httpd.conf 中设置一个值。
将MaxRequestWorkers 设置为较小的数字。你可以试试 4。当这个数字很低时,你也不会有很多同时的客户端从你的 Apache/php 连接到你的 MySQL 服务器。
当您的所有工作人员都忙时,来自网络浏览器客户端的请求将被排入队列。这可以正常工作,但可能会使您的网站对您的用户来说似乎很慢。请参阅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(和 php,它可能在 Apache 服务器的地址空间中运行)的 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 服务器。
这些步骤可能帮助你在一个微型实例中吱吱作响。他们可能不会。我想它们值得一试。