阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

449次阅读
没有评论

共计 9562 个字符,预计需要花费 24 分钟才能阅读完成。

目录
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
1234567 root@com:~# uname -r
3.16.0-4-amd64
root@com:~# cat /etc/issue
Debian GNU/Linux 8 \n \l
root@test1:~# apt-get install nginx
root@test1:~# chkconfig –list nginx
nginx                    0:off  1:off  2:on  3:on  4:on  5:on  6:off

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

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

2.2、php 环境部署
root@test1:~# apt-get install php5-fpm
root@test1:~# 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

root@test1:~# vim /etc/php5/fpm/pool.d/www.conf
#listen = /var/run/php5-fpm.sock      注释此行,这不是必须的,只是我习惯让 php5-fpm 监听在一个端口而不是 sock 上
listen = 9000                                    增加此行使 php5-fpm 监听在 9000 端口
root@test1:~# /etc/init.d/php5-fpm restart
[ok] Restarting php5-fpm (via systemctl): php5-fpm.service.
root@test1:~# ss -tnl | grep 9000
LISTEN    0      128                      *:9000                    *:*

root@test1:~# 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
root@test1:~# vim /var/www/html/info.php
<?php
    phpinfo();
?>
root@test1:~# nginx -t
root@test1:~# /etc/init.d/nginx restart
[ok] Restarting nginx (via systemctl): nginx.service.

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

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

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

123456 root@test1:~# ls
memadmin-1.0.12.tar.gz
root@test1:~# tar xf memadmin-1.0.12.tar.gz -C /var/www/html/
root@test1:~# cd /var/www/html/
root@test1:/var/www/html# ls
index.nginx-debian.html  info.php  memadmin

访问 memadmin 测试,如下:

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

报错了,根据错误提示安装 memcache 的扩展支持:
root@test1:/var/www/html# apt-get install php5-memcache
root@test1:/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

root@test1:/var/www/html# vim /etc/php5/fpm/php.ini
# 搜索“extension”关键字,在“; extension_dir = “ext””下增加下边的代码
extension_dir = “/usr/lib/php5/20131226”
extension = memcache.so
root@test1:/var/www/html# /etc/init.d/php5-fpm restart
[ok] Restarting php5-fpm (via systemctl): php5-fpm.service.

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

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

再访问 memadmin 的页面,如下:

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

至此,memadmin 工具部署完成。
4、memadmin 工具的简单运用

默认时 memadmin 工具的登陆用户名及密码都为 admin,可以在配置文件中进行更改,如下:
root@test1:/var/www/html# pwd
/var/www/html
root@test1:/var/www/html# vim memadmin/config.php
<?php
if (!defined(‘IN_MADM’)) exit();
$config[‘user’] = “admin”; // your username
$config[‘passwd’] = “admin”; // your password
………

登陆 memadmin 后是如下页面:

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

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

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

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

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

接下来就摸索着使用这工具吧!
5、额外的配置优化

    现在,我们是可以尽情的使用 memadmin 这工具了,但此服务器的主要功能是提供 memcached 服务,而 memadmin 只是一个对 memcached 的管理工具而已,使用频率并不是特别高,所以,分配给 nginx,php5-fpm 的资源只需要一点即可,特别是在你服务器资源很紧张的情况下更应该对 nginx 和 php5-fpm 这两个服务进行优化。
5.1、nginx 优化
    先来看看默认时 nginx 的工作特性,如下:
root@test1:~# pgrep nginx
11748
11750
11751
11752
11753
root@test1:~# 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 进程

1234 root@test1:~# ss -tnl | grep 80
LISTEN    0      128                      *:80                      *:*   
LISTEN    0      128                      :::80                      :::* 
# 默认时,nginx 监听了 IPV6 的地址

针对我这里的环境,nginx 只需要开启一个 worker 进程即可,对 IPV6 地址的监听也没有必要,所以做如下修改:
root@test1:~# find /etc/nginx/* -type f | xargs grep “worker_processes”
/etc/nginx/nginx.conf:worker_processes 4;
root@test1:~# vim /etc/nginx/nginx.conf 
worker_processes 1;  #修改为“1”
root@test1:~# 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;
root@test1:~# vim /etc/nginx/sites-available/default
…..
server {
        listen 80 default_server;
        #listen [::]:80 default_server;  #注释此行
root@test1:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@test1:~# /etc/init.d/nginx reload
[ok] Reloading nginx configuration (via systemctl): nginx.service.
优化后的结果如下:
root@test1:~# 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
root@test1:~# ss -tnl | grep 80
LISTEN    0      128                      *:80                      *:*

5.2、php 优化

    在这里针对 php 的优化,我们可以控制 php5-fpm 的工作进程数来达到节约资源的目的,最开始在“/etc/php5/fpm/php-fpm.conf”文件是找了半天都没有找到相关的配置选项,最后还是动用强大的 find 命令找到了相关的配置文件。
    先来看看默认时 php 的启动进程数:
root@test1:~# 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 也开启了两个工作进程,这里只需要一个即可,做如下操作:

root@test1:~# 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 #,保证空闲进程数最大值,如果空闲进程大于此值,此进行清理

在这里,我设置的取值如下:
root@test1:~# vim /etc/php5/fpm/pool.d/www.conf
…..
pm = static  #把 pm 值改为 static,默认是 dynamic
pm.max_children = 1  #把 pm.max_clildren 的值修改为“1”,默认是“5″
root@test1:~# /etc/init.d/php5-fpm restart
[ok] Restarting php5-fpm (via systemctl): php5-fpm.service.
root@test1:~# 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 不能获取值的不足。此工具部署也很简单,此处就不再演示。

相关附件在 Linux 公社资源站下载

—————————————— 分割线 ——————————————

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2016 年资料 / 1 月 /25 日 /Debian8(amd64) 安装部署 Memcached 管理工具 MemAdmin/

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

—————————————— 分割线 ——————————————

CentOS 6.6 下 Memcached 源码安装配置  http://www.linuxidc.com/Linux/2015-09/123019.htm

Memcached 安装及启动脚本 http://www.linuxidc.com/Linux/2013-07/87641.htm

PHP 中使用 Memcached 的性能问题 http://www.linuxidc.com/Linux/2013-06/85883.htm

Ubuntu 下安装 Memcached 及命令解释 http://www.linuxidc.com/Linux/2013-06/85832.htm

Memcached 的安装和应用 http://www.linuxidc.com/Linux/2013-08/89165.htm

使用 Nginx+Memcached 的小图片存储方案 http://www.linuxidc.com/Linux/2013-11/92390.htm

Memcached 使用入门 http://www.linuxidc.com/Linux/2011-12/49516p2.htm

Memcached 的详细介绍:请点这里
Memcached 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-01/127843.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计9562字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7990536
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛 NAS 玩转 Frpc 并且配置,随时随地直连你的私有云 大家好,我是星哥,最近在玩飞牛 NAS。 在数...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...