![OpenVZ 与 VSwap 导致 nginx 上出现 php-fpm/mySQL 错误](https://linux22.com/image/606488/OpenVZ%20%E4%B8%8E%20VSwap%20%E5%AF%BC%E8%87%B4%20nginx%20%E4%B8%8A%E5%87%BA%E7%8E%B0%20php-fpm%2FmySQL%20%E9%94%99%E8%AF%AF.png)
我遇到了一个相当棘手的问题,希望这里的任何人都可以帮助我找到一个可能的解决方案,因为我现在几乎陷入困境。
情况:
- 我有一个配置了 VSwap 的 OpenVZ VPS
- 我的 VPS 提供商已确认节点上仍有足够的主机 CPU/RAM/等可用
- 我已经完成了教科书式的 LEMP 安装,并尝试了 CentOS 5 和 6.3,结果相同
- php-fpm 使用 phpinfo() 运行正常;并给出正确的输出,因此 nginx 和 php 本身似乎运行良好
- 安装 phpMyAdmin 来管理数据库时,我遇到了问题:第一次使用时,它会给出 phpMyAdmin 错误,并在重新加载时出现可怕的 Bad gateway 502。php-fpm 的日志文件显示 SIGSEGV
- php-fpm 无法恢复,除非我手动重启服务
- 查看扩展并逐个禁用它们,似乎段错误是由 APC 引起的,因为禁用它会消除这个问题。这让我认为这是共享内存中某个地方的内存管理问题。
- 对前一点的进一步怀疑是,OpenVZ 上具有相同提供商(使用 burst/beancounters)的更传统的 VPS 使用完全相同的设置运行良好。
- 禁用 APC 和其他扩展,只保留所需的扩展,仍然没有给我 phpMyAdmin,只是给我一个错误来检查 php 配置,并且我应该检查日志。
- 然而,日志没有给我提供任何信息。
- Nginx 日志只告诉我:797#0: *20 recv() 失败(104:对端重置连接),同时从上游读取响应头
- PHP-FPM 错误日志根本没有提供任何内容(没有日志记录)。
这是否意味着 VSwap 不好?我做错什么了吗?我再次使用“如果不是真则为假”指南在 2 个版本的 CentOS 上进行了教科书式安装,一个 VPS 运行良好(没有 VSwap),而另一个则不行(VSwap),据我所知,除此之外真的没有什么区别。
编辑:我尝试了不同版本和架构的客户端操作系统(CentOS 5.* 和 6.*、x86 和 x64)以及所有 LEMP 组件和 phpMySQL 的不同版本,但没有任何区别。从好的方面来说,我需要 phpMySQL 的功能可以用其他软件来实现,而我需要一个在 phpBB3 上运行的数据库管理工具的论坛似乎也运行良好。但它仍然是奇怪和异常的行为。
答案1
VSwap 有多重要?我猜你使用的是 CentOS 6。你可以要求主机从你的容器中移除 VSwap 一段时间,然后重新安装,看看是否可行。否则,你可以询问主机是否有其他节点可以让你使用或交换主机?