我有一个相当奇怪的问题似乎只是在最近几天才开始(过去几天没有变化)。我会尝试尽可能地描述它,但如果我需要发布特定的配置等,请告诉我。
我在CentOS 6.3上运行的2个后端nginx Web服务器前面有一个nginx负载均衡器。此网站一直运行良好,但最近访问主页时,它一直向我显示我在网络服务器上创建的默认网站页面(这是一个离散的通知,说明主机标题未在网络服务器上识别)。当您访问子页面时,例如domain.com/about-us它很好,但访问domain.com显示默认网站。似乎可以通过禁用此特定站点的负载均衡器上的缓存来解决此问题。一旦未使用缓存,主页就会正确显示。
负载均衡器上的缓存保存在映射到/ cache的RAM驱动器中,总可用大小为256Mb。缓存配置如下
proxy_cache_path /cache levels=1:2 keys_zone=app-cache:30m max_size=126m inactive=10m;
proxy_temp_path /cache/tmp;
proxy_buffer_size 8192;
proxy_max_temp_file_size 1m;
我昨晚减少了缓存的总大小,因为我觉得它导致了我最近看到的另一个问题,我们遇到了极端负载,缓存填充到256Mb的最大允许大小但是没有留下空间从上游缓冲文件的临时路径的挂载点,并开始向客户端提供空文件。
我查看了特定网站的错误日志,并找到了一些
的实例2013/01/03 05:47:24 [crit] 22889#0: *352983 pwrite() "/cache/tmp/0000028264" failed (28: No space left on device) while reading upstream, client: 121.58.173.7, server: www.domain.com, request: "GET /images/slider-plus.gif HTTP/1.1", upstream: "http://10.0.100.193:80/images/slider-plus.gif", host: "www.domain.com", referrer: "http://www.domain.com/example-page"
一个df -h显示/ cache mount目前仅占用了1%的可用空间,所以我不确定为什么我仍然会遇到这个错误。
负载均衡器上的nginx版本是1.0.11(从源代码构建) Web服务器上的nginx版本是1.0.15(从epel的软件包安装)
我意识到nginx需要更新,我昨天才意识到这一点。如果这是问题,那么我可以提出更新它的计划,但确认这个问题可能是什么以及如何解决它是有用的。
请随时索取帮助诊断此情况所需的任何额外信息。
非常感谢
埃里克
编辑:我认为我应该补充一点,当服务器负载很小时,网站没有显示主页的问题确实存在,负载均衡器大部分时间处于空闲状态,流量不大。仅当服务器的负载比通常高得多时才显示空文件问题。