Debian8(amd64)安装部署memcached管理工具

目录

1、memadmin工具简介

2、nginx及php环境安装

3、memadmin工具部署

4、memadmin工具的简单运用

5、额外的配置优化

6、总结

1、memadmin工具简介

MemAdmin是一款可视化的Memcached管理与监控工具,使用PHP开发,体积小,操作简单。

主要功能:

服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新

服务器性能监控:GET、DELETE、INCR、DECR、CAS等常用操作命中率实时监控

支持数据遍历,方便对存储内容进行监视

支持条件查询,筛选出满足条件的KEY或VALUE

数组、JSON等序列化字符反序列显示

兼容memcache协议的其他服务,如Tokyo Tyrant (遍历功能除外)

支持服务器连接池,多服务器管理切换方便简洁

2、nginx及php环境安装

2.1、安装nginx

[email protected]:~# uname -r
3.16.0-4-amd64
[email protected]:~# cat /etc/issue
Debian GNU/Linux 8 \n \l
[email protected]:~# apt-get install nginx
[email protected]:~# chkconfig --list nginx
nginx                     0:off  1:off  2:on   3:on   4:on   5:on   6:off

浏览器访问可见nginx的默认页面,如下:

2.2、php环境部署

[email protected]:~# apt-get install php5-fpm
[email protected]:~# dpkg -L php5-fpm
/.
/etc
/etc/php5
/etc/php5/fpm
/etc/php5/fpm/conf.d
/etc/php5/fpm/pool.d
/etc/php5/fpm/pool.d/www.conf     #这个是php5-fpm的配置文件
/etc/php5/fpm/php-fpm.conf
/etc/logrotate.d
/etc/logrotate.d/php5-fpm
/etc/init
/etc/init/php5-fpm.conf
/etc/init.d
/etc/init.d/php5-fpm
/usr
/usr/sbin
/usr/sbin/php5-fpm
/usr/lib
/usr/lib/php5
/usr/lib/php5/20131226
/usr/lib/php5/php5-fpm-checkconf
/usr/lib/php5/php5-fpm-reopenlogs
/usr/share
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/php5-fpm.8.gz
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/php5-fpm
/usr/share/php5
/usr/share/php5/sapi
/usr/share/php5/sapi/fpm
/usr/share/bug
/usr/share/bug/php5-fpm
/usr/share/bug/php5-fpm/script
/usr/share/bug/php5-fpm/control
/usr/share/doc
/lib
/lib/systemd
/lib/systemd/system
/lib/systemd/system/php5-fpm.service
/usr/share/doc/php5-fpm
[email protected]:~# vim /etc/php5/fpm/pool.d/www.conf
#listen = /var/run/php5-fpm.sock      注释此行,这不是必须的,只是我习惯让php5-fpm监听在一个端口而不是sock上
listen = 9000                                     增加此行使php5-fpm监听在9000端口
[email protected]:~# /etc/init.d/php5-fpm restart
[ ok ] Restarting php5-fpm (via systemctl): php5-fpm.service.
[email protected]:~# ss -tnl | grep 9000
LISTEN     0      128                       *:9000                     *:*
[email protected]:~# vim /etc/nginx/sites-enabled/default    
#修改nginx配置,使其能把php的请求转发到php5-fpm,在“#location ~ \.php$ {”代码块的下方增加如下代码:
       location ~ \.php$ {
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;
                include        fastcgi_params;
        }
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[email protected]:~# vim /var/www/html/info.php
<?php
    phpinfo();
?>
[email protected]:~# nginx -t
[email protected]:~# /etc/init.d/nginx restart
[ ok ] Restarting nginx (via systemctl): nginx.service.

浏览器打开php的测试面试,如下:

3、memadmin工具部署及简单运用

[email protected]:~# ls
memadmin-1.0.12.tar.gz
[email protected]:~# tar xf memadmin-1.0.12.tar.gz -C /var/www/html/
[email protected]:~# cd /var/www/html/
[email protected]:/var/www/html# ls
index.nginx-debian.html  info.php  memadmin

访问memadmin测试,如下:

报错了,根据错误提示安装memcache的扩展支持:

[email protected]:/var/www/html# apt-get install php5-memcache
[email protected]:/var/www/html# dpkg -L php5-memcache
/.
/usr
/usr/lib
/usr/lib/php5
/usr/lib/php5/20131226
/usr/lib/php5/20131226/memcache.so      #库文件在这里
/usr/share
/usr/share/doc
/usr/share/doc/php5-memcache
/usr/share/doc/php5-memcache/examples
/usr/share/doc/php5-memcache/examples/memcache.php.gz
/usr/share/doc/php5-memcache/examples/example.php
/usr/share/doc/php5-memcache/changelog.Debian.gz
/usr/share/doc/php5-memcache/copyright
/usr/share/doc/php5-memcache/memcache.php.gz
/usr/share/doc/php5-memcache/changelog.gz
/usr/share/doc/php5-memcache/package.xml.gz
/usr/share/doc/php5-memcache/README.gz
/usr/share/doc/php5-memcache/CREDITS
/usr/share/doc/php5-memcache/example.php
/usr/share/php
/usr/share/php/.registry
/usr/share/php/.registry/.channel.pecl.php.net
/usr/share/php/.registry/.channel.pecl.php.net/memcache.reg
/etc
/etc/php5
/etc/php5/mods-available
/etc/php5/mods-available/memcache.ini
[email protected]:/var/www/html# vim /etc/php5/fpm/php.ini
#搜索“extension”关键字,在“; extension_dir = "ext" ”下增加下边的代码
extension_dir = "/usr/lib/php5/20131226"
extension = memcache.so
[email protected]:/var/www/html# /etc/init.d/php5-fpm restart
[ ok ] Restarting php5-fpm (via systemctl): php5-fpm.service.

再次访问测试页面,如下,有memcache的相关信息:

再访问memadmin的页面,如下:

至此,memadmin工具部署完成。

4、memadmin工具的简单运用

默认时memadmin工具的登陆用户名及密码都为admin,可以在配置文件中进行更改,如下:

[email protected]:/var/www/html# pwd
/var/www/html
[email protected]:/var/www/html# vim memadmin/config.php
<?php
if (!defined(‘IN_MADM‘)) exit();
$config[‘user‘] = "admin"; // your username
$config[‘passwd‘] = "admin"; // your password
.........

登陆memadmin后是如下页面:

点击“添加”后,memcached就被添加到“服务器连接列表”中,如下:

再点击“开始管理”后,就可察看memcached服务器的监控信息,如下图:

接下来就摸索着使用这工具吧!

5、额外的配置优化

现在,我们是可以尽情的使用memadmin这工具了,但此服务器的主要功能是提供memcached服务,而memadmin只是一个对memcached的管理工具而已,使用频率并不是特别高,所以,分配给nginx,php5-fpm的资源只需要一点即可,特别是在你服务器资源很紧张的情况下更应该对nginx和php5-fpm这两个服务进行优化。

5.1、nginx优化

先来看看默认时nginx的工作特性,如下:

[email protected]:~# pgrep nginx
11748
11750
11751
11752
11753
[email protected]:~# ps aux | grep nginx
root      11748  0.0  0.3  91172  3064 ?        Ss   12:25   0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data  11750  0.0  0.4  91816  4776 ?        S    12:25   0:01 nginx: worker process                          
www-data  11751  0.0  0.4  91828  5028 ?        S    12:25   0:00 nginx: worker process                          
www-data  11752  0.0  0.3  91476  3752 ?        S    12:25   0:01 nginx: worker process                          
www-data  11753  0.0  0.3  91476  3752 ?        S    12:25   0:01 nginx: worker process                          
root      12909  0.0  0.2  12948  2196 pts/1    S+   15:53   0:00 grep nginx
#默认时,nginx有一个主进程,4个worker进程
[email protected]:~# ss -tnl | grep 80
LISTEN     0      128                       *:80                       *:*    
LISTEN     0      128                      :::80                      :::* 
#默认时,nginx监听了IPV6的地址

针对我这里的环境,nginx只需要开启一个worker进程即可,对IPV6地址的监听也没有必要,所以做如下修改:

[email protected]:~# find /etc/nginx/* -type f | xargs grep "worker_processes"
/etc/nginx/nginx.conf:worker_processes 4;
[email protected]:~# vim /etc/nginx/nginx.conf 
worker_processes 1;   #修改为“1”
[email protected]:~# find /etc/nginx/* -type f | xargs grep "listen 80"
/etc/nginx/sites-available/default:listen 80 default_server;
/etc/nginx/sites-available/default:#listen 80;
[email protected]:~# vim /etc/nginx/sites-available/default
.....
server {
        listen 80 default_server;
        #listen [::]:80 default_server;  #注释此行
[email protected]:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[email protected]:~# /etc/init.d/nginx reload
[ ok ] Reloading nginx configuration (via systemctl): nginx.service.
优化后的结果如下:
[email protected]:~# ps aux | grep nginx
root      11748  0.0  0.4  91280  5000 ?        Ss   12:25   0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data  13031  0.0  0.3  91600  3808 ?        S    16:00   0:00 nginx: worker process                          
root      13052  0.0  0.2  12948  2064 pts/1    S+   16:01   0:00 grep nginx
[email protected]:~# ss -tnl | grep 80
LISTEN     0      128                       *:80                       *:*

5.2、php优化

在这里针对php的优化,我们可以控制php5-fpm的工作进程数来达到节约资源的目的,最开始在“/etc/php5/fpm/php-fpm.conf”文件是找了半天都没有找到相关的配置选项,最后还是动用强大的find命令找到了相关的配置文件。

先来看看默认时php的启动进程数:

[email protected]:~# ps aux | grep php
root      11946  0.0  1.3  93540 13996 ?        Ss   12:32   0:01 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)                    
www-data  11949  0.0  1.0  94124 10720 ?        S    12:32   0:00 php-fpm: pool www                                                      
www-data  11950  0.0  1.1  93980 12088 ?        S    12:32   0:00 php-fpm: pool www                                                      
root      13124  0.0  0.2  12948  2204 pts/1    S+   16:06   0:00 grep php

默认时php也开启了两个工作进程,这里只需要一个即可,做如下操作:

[email protected]:~# find /etc/php5/* -type f | xargs grep "max_children"    #查找有"max_children"关键字的文件
/etc/php5/fpm/pool.d/www.conf:;   static  - a fixed number (pm.max_children) of child processes;
/etc/php5/fpm/pool.d/www.conf:;             pm.max_children      - the maximum number of children that can
/etc/php5/fpm/pool.d/www.conf:;             pm.max_children           - the maximum number of children that
/etc/php5/fpm/pool.d/www.conf:pm.max_children = 5

关于Php的优化参数有如下几个:

pm、pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers

pm = dynamic #对于专用服务器,pm可以设置为static。

#如何控制子进程,选项有static和dynamic。如果选择static,则由pm.max_children指定固定的子进程数。如果选择dynamic,则由下开参数决定:

pm.max_children #,子进程最大数

pm.start_servers #,启动时的进程数

pm.min_spare_servers #,保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程

pm.max_spare_servers #,保证空闲进程数最大值,如果空闲进程大于此值,此进行清理

在这里,我设置的取值如下:

[email protected]:~# vim /etc/php5/fpm/pool.d/www.conf
.....
pm = static   #把pm值改为static,默认是dynamic
pm.max_children = 1   #把pm.max_clildren的值修改为“1”,默认是“5"
[email protected]:~# /etc/init.d/php5-fpm restart
[ ok ] Restarting php5-fpm (via systemctl): php5-fpm.service.
[email protected]:~# ps aux | grep php-fpm
root      13235  0.0  1.3  93524 14016 ?        Ss   16:29   0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)                    
www-data  13238  0.0  0.6  93524  6428 ?        S    16:29   0:00 php-fpm: pool www                                                      
root      13258  0.0  0.1  12944  1984 pts/1    S+   16:29   0:00 grep php-fpm
#现在就只有一个php-fpm的工作进程了

通过观察,一个nginx的worker进程占用约4MB内存,一个php-fpm占用约6.5MB内存,通过计算优化后可节约内存=4MB*4+6.5=22.5MB的内存大小。

6、总结

现在公司的系统环境慢慢在从Centos向Debian上迁移,对从没有接触过Debian系统的我来说,还需要一个适应过程,通过这段时间的使用,发现Debian与Centos在使用上还是有许多的不同,这次搭建php环境时就遇到一些问题。

MemAdmin中文界面,操作十分简单,但我在使用中发现几个问题,比如:只能写入数据,而不能读取数据,对状态监控时的刷新时间间隔不生效等。

还有一款简洁的memcached的状态监视工具也不错,叫memcachephp-master,能实现获取KEY所对应的VALUE值,正好弥补我这里MemAdmin不能获取值的不足。此工具部署也很简单,此处就不再演示。

时间: 2024-10-12 02:15:37

Debian8(amd64)安装部署memcached管理工具的相关文章

如何在Windows 7下安装Exchange 2010管理工具?

随企业部署Exchange Server 2010的开始,有些时候我们并不想登录到服务器端进行操作,而是希望在Windows 7客户端安装Exchange Server 2010 来进行管理,有没有办法实现呢?,本文主要介绍如何在 Windows 7 的主机上安装 Exchange 管理控制台. 可以在下列 Windows 操作系统上安装 Exchange 2010 管理工具:     Windows 7      Windows Vista Service Pack 2 (SP2)      

windows安装python包管理工具pip

windows安装python包管理工具pip     pip 是一个Python包管理工具,主要是用于安装 PyPI 上的软件包,可以替代 easy_install 工具. 一.前期准备 首先确认windows机器上面是否已经安装好了python.在cmd中输入python --version和python看看是否有反应 如上面所示,表示已经在windows平台上面搭建好了python环境. 二.下载安装 1.到官网去https://pypi.python.org/pypi/pip#downl

为什么要安装AD DS管理工具

要管理活动目录,默认只有在域控制器下才可以,管理员对活动目录的管理和维护又比较频繁,因此需要经常出入机房才能完成管理任务 用远程桌面也可以进行域管理,但有一定的安全隐患,还会产生较大的网络流量,占用宝贵的带宽资源 AD DS是微软公司基于Windows7系统推出的远程服务管理工具,默认情况下已经设置好了安全措施,可以管理活动目录上的特定功能 下载地址:Download Windows 7 Service Pack 1 (SP1) 远程服务器管理工具 http://www.microsoft.co

mac安装brew 软件包管理工具Homebrew

mac 安装 brew  Homebrew brew 全称Homebrew  是Mac OSX上的软件包管理工具 Homebrew 安装和卸载工具 只用一行命令就能完成 官方地址:    http://brew.sh/index.html mac 自带ruby 打开命令行  terminal 输入  : ruby -version 1) 安装命令 ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)&

安装Exchange Server2016管理工具

1.  概述 本章节将演示如何在Windows 10 Enterprise计算机安装Exchange Server2016管理工具.Exchange Server 2016管理工具包括Exchange Toolbox.Exchange Management Shell和Exchange Admin Center(EAC),结合以上3个工具可以完美的完成Exchange的所有工作,而不用通过远程桌面连接至Exchange服务器.其中: Exchange Toolbox-常用于查看邮件队列及邮件收发

Linux命令:Mysql系列之二cmake编译安装使用mysqladmin管理工具

MySQL相关概念:MySQL是单进程多线程接收应用的请求. SQL/MySQL 1.事务,隔离,并发控制,锁 2.用户和权限 3.监控 STATUS 4.索引类型:查询 VARIABLES 5.备份和恢复 6.复制功能 7.集群 DML:数据操作语言 INSERT:插入 DELETE:删除 SELECT:挑选,选择,查询 UPDATE:更新,修改 DDL:数据定义语言 CREATE:创建 DROP:删除 ALTER:修改 DCL:数据控制语言 GRANT:授权 REVOKE:取消权限 MySQ

Mac Pro 安装 Homebrew 软件包管理工具

Linux系统有个让人蛋疼的通病,软件包依赖,好在当前主流的两大发行版本都自带了解决方案,Red hat有 yum,Ubuntu有 apt-get. Mac os 中没有类似的东东,不过有第三方库支持:Homebrew.Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说Homebrew就是mac下的apt-get.yum神器. Homebrew安装 1.首先要安装 xcode,在 AppStore 中通过搜索关键字 xcode 找到软

Linux服务器中安装python包管理工具pip

pip是python的包管理工具,python的强大之处除了在于语法的简练,还有就是对众多的库支持了. 1.下载pip包管理工具 链接地址:https://pypi.python.org/pypi/pip/#downloads 2.winscp上传至服务器, 3.解压到服务器的某个目录: 4.安装完成: 接下来可以进行的安装python的各种第三方模块包了.

Mac上安装brew 包管理工具

Mac 上的包管理工具对于开发者来说是一件非常方便的工具,能够有效的对包进行管理. 所以这篇博客就来简单的讲一下brew 的安装和一些基础命令. brew 全称叫做Homebrew . 1. 首先来说一下brew的安装: 在mac 上安装需要通过ruby 来进行安装,在mac上默认是已经安装好ruby的,我们可以通过命令来进行测试. ruby -version 确定好ruby没问题后,通过下面的命令进行安装brew. ruby -e "$(curl -fsSL https://raw.githu