负载均衡在同步数据后出现500错误

系统介绍

由于业务需求搭建了负载均衡。有两台A和B服务器做数据同步。

产生的问题

服务器同步代码并开启编译缓存后,会出现500错误.

如果关闭编译缓存就会正常。删除编译缓存后会正常。再次生成编译缓存后还是会出现500错误。

问题产生的原因

由于系统编译缓存时,代码调用了服务器的物理路径。由于环境搭建是两台同步服务器的物理路径是不同的。

A服务器:/usr/local/A/xxx

B服务器:/usr/local/B/xxx

代码:require 了服务器的绝对路径后

由于服务器编译缓存了。如果A服务器缓存的那么获取的绝对路径就是A服务器的地址。

当负载分配资源到B服务器时,因为B服务器同步了A的资源包括编译缓存。导致B服务器require了A服务器的资源。所有会reqire不到资源。导致代码错误。产生了500错误

解决方案

在搭建同步环境时,各自服务器的环境配置的版本要完全相同。包括服务器的路径也要完全相同。

你可能感兴趣的:(负载均衡在同步数据后出现500错误)