如何让另一台机器访问memcached?

如何让另一台机器访问memcached?

因此,我一直在新的 django 应用程序中使用 memcached,它运行良好,我可以比将文件镜像到静态服务器时稍快地提供网站的动态版本。我在 vps 上进行了此设置,并使用“memcached -d -u www-data -p 11211 -m 64”启动了 memcached,就像我在教程中被告知的那样。我现在想增加内存分配并允许我的 cpanel vps 访问我的 django vps 上的 memcached 实例,以加快一些 joomla 网站的速度。如何配置 memcached 以允许其他 VPS 访问它?我不想在我的 cPanel VPS 上安装它,因为它是实时的,如果出现问题,我会非常头疼(另外,我使用了便宜的许可证,但公司不支持我,他们让我去问 cPanel,而 cPanel 让我去问许可人 :( ),另外,我已经遇到了 mysql 连接问题。

我已经尝试过了,我绝对无法从运行它的 vps 之外的任何其他机器访问它。

谢谢!

答案1

来自memcached 手册页

   -l <ip_addr>
          Listen on <ip_addr>; default to INADDR_ANY. This is an important
          option  to  consider  as  there  is  no  other way to secure the
          installation. Binding  to  an  internal  or  firewalled  network
          interface is suggested.

基本上(与其他守护进程一样)确保它监听所有想要使用它的事物可访问的 IP。

意识到memcached 没有安全机制,因此恶意网站可能会直接连接

echo "flush_all" | /bin/netcat -q 2 memcached-instance.example.com 11211

您的缓存消失了。我强烈建议不要在所有客户端之间使用单个 memcached 实例。不仅会刷新所有缓存,而且没有什么可以阻止一个站点覆盖另一个站点的密钥。这(对我来说)甚至更糟糕。提供错误数据的缓存比没有数据的缓存要糟糕得多。

  • 防火墙
  • 每个客户端使用一个 memcache 集群(1 个集群也是一个集群:)

相关内容