命令行查看memcache状态及memcache服务器安全

命令行查看memcache状态

memcache的运行状态可以方便的用stats命令显示。
首先用telnet 127.0.0.1 11211这样的命令连接上memcache,然后直接输入stats就可以得到当前memcache的状态。
这些状态的说明如下:

pid
memcache服务器的进程ID

uptime
服务器已经运行的秒数

time
服务器当前的unix时间戳

version
memcache版本

pointer_size
当前操作系统的指针大小(32位系统一般是32bit)

rusage_user
进程的累计用户时间

rusage_system
进程的累计系统时间

curr_items
服务器当前存储的items数量

total_items
从服务器启动以后存储的items总数量

bytes
当前服务器存储items占用的字节数

curr_connections
当前打开着的连接数

total_connections
从服务器启动以后曾经打开过的连接数

connection_structures
服务器分配的连接构造数

cmd_get
get命令(获取)总请求次数

cmd_set
set命令(保存)总请求次数

get_hits
总命中次数

get_misses
总未命中次数

evictions
为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items)

bytes_read
总读取字节数(请求字节数)

bytes_written
总发送字节数(结果字节数)

limit_maxbytes
分配给memcache的内存大小(字节)

threads
当前线程数

Memcache服务器端都是直接通过客户端连接后直接操作,没有任何的验证过程,这样如果服务器是直接暴露在互联网上的话是比较危险,轻则数据泄露被其他无关人员查看,重则服务器被入侵,况且里面可能存在一些我们未知的bug或者是缓冲区溢出的情况,这些都是我们未知的,所以危险性是可以预见的。为了安全起见,做两点建议,能够稍微的防止黑客的入侵或者数据的泄露。

现在就关于修改memcache服务器配置的问题说明如下:

1>用内网ip的方式提供web应用服务器调用,不允许直接通过外网调用,如将memcache服务器放在192.168.1.55的服务器上

2>修改端口,如改为11200

3>分配内存,如分配1024M(1G内存)

方法如下:

cmd进入c盘->memcached -m 1024 -p 11200 -l 192.168.1.55(回车)

注意,此时命令行不会回到C:/memcached>状态,并且实际上memcache服务器悄悄变为stop状态了。此窗口不可以关闭。新开一个cmd窗口

cmd进入c盘->memcached -d start(回车)可以关闭此cmd窗口。

此时可以使用新配置的memcache服务器了。

上述方法虽然解决了修改默认配置的问题,但是始终会有一个cmd窗口不可以关闭,否则就回到11211端口的默认配置。

更好的解决方案是通过修改服务的注册表配置:

1>开始>运行:regedit(回车)

2>在注册表中找到:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/memcached Server

3>默认的ImagePath键的值是:"c:/memcached/memcached.exe" -d runservice,改为:"c:/memcached/memcached.exe" -d runservice -m 512 -p 11200 -l 192.168.1.55(确定,关闭注册表)

4>我的电脑(右键)>管理>服务 找到memcache的服务,重新启动一次即可生效。

memcached命令

-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助

您可以选择一种方式赞助本站