Php 许多应用服务器共享memcached服务器

Php 许多应用服务器共享memcached服务器,php,session,centos,memcached,Php,Session,Centos,Memcached,我在Centos上有6个应用程序服务器(PHP) 我想在每个服务器上安装一个memcached来共享会话 但是我有一个问题,第一个问题是测试两台服务器。 Memcached只能在本地环境下正常工作(这不是防火墙问题): 服务器1位于centos上,PHP和memcached作为服务器2 在服务器1上: memcached-tool Server1:11211 工作正常,但: memcached-tool Server2:11211 失败(无法连接到服务器2:11211) 在服务器2上 mem

我在Centos上有6个应用程序服务器(PHP) 我想在每个服务器上安装一个memcached来共享会话

但是我有一个问题,第一个问题是测试两台服务器。 Memcached只能在本地环境下正常工作(这不是防火墙问题):

服务器1位于centos上,PHP和memcached作为服务器2

在服务器1上:

memcached-tool Server1:11211
工作正常,但:

memcached-tool Server2:11211
失败(无法连接到服务器2:11211)

在服务器2上

memcached-tool Server2:11211 
很好,但是

memcached-tool Server1:11211
失败(无法连接到服务器1:11211)

在/etc/sysconfig/memchached中,我尝试了这个选项

-l 0.0.0.0
确保监听每个IP 但同样的错误

telnet服务器11211提供与memcached工具命令相同的结果

尽管如此,php memcached库和 session.save_handler=memcached 在php.ini中

我尝试了session.save_路径

to test Server1 with memcached on Server1 => success
to test Server2 with memcached on Server1 => fails  
to test Server2 with memcached on Server2 => success
to test Server1 with memcached on Server2 => fails
谢谢你的帮助。
Benoît

我终于找到了解决办法

这是一个防火墙问题,但不是网络防火墙

Red Hat/Centos有一个名为firewalld的系统防火墙

因此,您必须将11211端口添加到防火墙:

firewall-cmd --add-port=11211/tcp --permanent 
firewall-cmd --reload

我建议首先检查防火墙已经检查过,而不是防火墙问题,同一VLAN上的服务器:-(直到您能够证明您可以在任何端口上从一台机器连接到另一台机器,并在所需端口(telnet,nc)上从一台机器连接到另一台机器),这闻起来仍然像是地址或网络问题。如果你有,这很公平,但你的回答在细节上是稀疏的。听起来你认为他们彼此可以访问只是因为他们在同一个C类上,可能是,也可能不是。就像我说的,这不清楚。11211上的telnet命令给出(从Server1):
telnet服务器2 11211
telnet:connect to address Server2:No route to host例如,端口9000已关闭,9000上的telnet命令发出(来自Server1)
telnet Server2 9000
telnet:connect to address Server2:Connection refered不要这样做!你刚刚打开了memcached到Internet,这会使你的缓存数据受到威胁。我们后面有一个真正的防火墙;-)