python-memcache memcached - 我安装在centos virtualbox上,但它得到/设置似乎永远不会起作用

时间:2013-11-14 16:14:04

标签: memcached python-memcached

我正在使用python。我做了一个yum install memcached,然后是一个easy_install python-memcached

我使用了帮助(memcache)中的简单测试程序。当我没有得到正确的答案时,我提出了一些印刷声明:

[~/test]$  cat m2.py
import memcache
mc = memcache.Client(['127.0.0.1:11211'], debug=0)

x = mc.set("some_key", "Some value")
print 'Just set a key and value into the cache (suposedly)'

value = mc.get("some_key")
print 'Just retrieved that value from the cache using the key'

print 'X %s' % x

print 'Value %s' % value    

[~/test]$  python m2.py
Just set a key and value into the cache (suposedly)
Just retrieved that value from the cache using the key
X 0
Value None
[~/test]$ 

现在的问题是,我在安装中没有做什么?它似乎是从API的角度来看,但它无法将任何内容放入memcache共享区域。 我正在使用运行centos的virtualbox vm     [〜] #cat / proc / version     Linux版本2.6.32-358.6.2.el6.i686(mockbuild@c6b8.bsys.dev.centos.org)(gcc版本4.4.7 20120313(Red Hat 4.4.7-3)(GCC))#1 SMP Thu 5月16日18:12:13 UTC 2013

是否有应该运行的守护进程?当我做ps时,我没有看到明显的命名。

我试图在我的虚拟机上安装pylibmc,但无法找到正常工作的安装,所以现在我将看看我是否可以先完成上述工作。

我发现如果我直接从python控制台GUI直接运行,如果我设置debug = 1

我会得到更多的输出
>>> mc = memcache.Client(['127.0.0.1:11211'], debug=1)
>>> mc.stats
{}
>>> mc.set('test','value')
MemCached: MemCache: inet:127.0.0.1:11211: connect: Connection     refused.  Marking dead.
0
>>> mc.get('test')
MemCached: MemCache: inet:127.0.0.1:11211: connect: Connection refused.  Marking dead.

当我尝试使用示例telnet连接到端口时,我得到拒绝连接:

[root@~]# telnet 127.0.0.1 11211
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
[root@~]# 

我尝试了网上找到的用于配置telnet的说明,因此不会禁用localhost:     vi /etc/xinetd.d/telnet     服务telnet     {     flags = REUSE     socket_type = stream     等=不     user = root     server = /usr/sbin/in.telnetd     log_on_failure + = USERID     禁用=否     }

然后运行命令重启服务:

service iptables stop
service xinetd stop
service iptables start
service xinetd start
service iptables stop

我在两种情况下运行(iptables启动和停止)但它没有效果。所以我没有想法。我需要做些什么才能让PORT被允许?如果这是问题? 或者是否需要运行需要打开端口的memcached服务?

1 个答案:

答案 0 :(得分:0)

这就是让它工作所需要的:(一系列手动步骤)

1) su -
   cd /var/run
   mkdir memcached # this was missing

在memcached文件中,我在OPTIONS语句中添加了“-l 127.0.0.1”。这显然是一个倾听选择。对第2步和第2步执行此操作3.我不确定哪个文件在运行时实际使用过。

2) cd /etc/sysconfig
   cp memcached memcached.old
   vi memcached

3) cd /etc/init.d
   cp memcached memcached.old
   vi memcached

4)尝试一些命令,看看服务器现在是否启动

/etc/init.d/memcached start
/etc/init.d/memcached status
/etc/init.d/memcached stop
/etc/init.d/memcached restart

我尝试打开一个浏览器,但它似乎从未真正显示任何内容,所以我真的不知道这种方法有多有效。我没有运行apache或类似的东西,所以它可能与我的事业无关。也许我必须提供一个?键=等等。

5)  http://127.0.0.1:11211

6)现在应该准备好了。如果运行下面显示的测试,它应该工作。至少它对我有用。做帮助(memcache)会显示一个简单的程序。只需粘贴即可,它应该可以正常工作。

[~]$ python
>>> import memcache
>>> help(memcache)