繁体   English   中英

如何在Ubuntu上连接单独的Memcache服务器并从其他服务器使用?

[英]How to connect separate memcache server on Ubuntu and Use from other server?

我在新加坡地区的Digitalocean单独服务器上托管了基于LAMP的PHP和MySql Web应用程序。 一台PHP服务器+一台远程MySql DB服务器,都可以正常工作。 因为该应用程序必须读取的内容要比写入的更多,所以我想添加一台内存缓存服务器。

到目前为止,我已经尝试过:-在2gb的小滴上使用本教程中的这些步骤。

现在,我有一台具有公共ip:129.xxx和私有ip:10.xxx内存缓存服务器,

1-p 11211

2.米2048

3.-c 1024

4.-l 127.0.0.1

memcached服务器已成功安装测试数据并将其缓存在本地主机上。 但是我想在其他远​​程Web服务器上使用它,

因此,我将memcached.conf文件-l 127.0.0.1更改为此memcached服务器专用IP -l 10.xxx

现在,当我检查memcached服务器并键入ps aux | grep memcached ps aux | grep memcached显示:

tcp        0      0 10.x.x.x:11211      *:*     LISTEN     3742/memcached

当我检查统计信息时, echo "stats settings" | nc 10.xxx 11211 echo "stats settings" | nc 10.xxx 11211它显示有关memcached服务器的所有信息,并且它正在运行。

为了进行测试,我制作了一个文件test.php并保存在PHP服务器上并尝试连接。

<?php
  $mc = new Memcached();
  $mc->addServer("**10.x.x.x**", 11211);
  $result = $mc->get("test_key");
  if($result) {
    echo $result;
  } else {
    echo "No data on Cache. Please refresh.";
    $mc->set("test_key", "test data from Cache!") or die ("Failed to save data at Memcached server");
  }
?>

但是它始终显示HTTP ERROR 500错误页面,PHP服务器上的“页面无法正常工作”错误, 192.xxx is currently unable to handle this request但是我的其他PHP和MySql应用程序在同一服务器上运行。

相同的代码正在memcached服务器上运行并成功缓存数据,但在远程PHP服务器上无法正常工作。

当我尝试telnet 10.xxx 11211成功连接时, sudo iptables -L在任何地方输出该INPUT策略ACCEPT。

我已经尝试了很多谷歌搜索,但没有任何帮助。

检查Web服务器错误日志后,显示Class 'Memcached' not found 我必须在Web服务器中安装memcached php模块才能连接到远程memcached实例。 通过键入

apt-get install php5-memcached

并通过添加更改php.ini

extension = memcached.so

比php Web服务器开始连接到远程memcached服务器。 如果要对会话使用memcached,请打开php.ini文件并添加

session.save_handler = memcache session.save_path = 'tcp://10.xxx:11211' ,最后重启服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM