2014-07-23

SSDB 数据库的图形化界面管理工具 – phpssdbadmin

Views: 21736 | 39 Comments

我很高兴地告诉各位, SSDB 现在也有了图形化界面管理工具了! 那就是 phpssdbadmin(PHP SSDB Admin), 类似 phpmyadmin, 通过 Web 界面来管理 SSDB 数据库的数据.

phpssdbadmin 是用 PHP 开发的, 需要进行 Web 部署.

首先, 假设你的 Nginx + PHP 已经配置已经完毕, 如果你不是使用 Nginx, 而是使用 Apache 等, 配置也是类似, 关键就是 URL rewrite.

下载 phpssdbadmin 的代码, 解压到 web 根目录(可以通过 http://localhost/phpssdbadmin 访问). 然后, 配置 Nginx, 加入这条 URL rewrite 规则:

location /phpssdbadmin {
	try_files $uri $uri/ /phpssdbadmin/index.php?$args;
}

如果你使用的是 Apache 的话, 你可以试试这条 URL 重写规则.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /phpssdbadmin/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /phpssdbadmin/index.php [L] 
</IfModule>

然后编辑 phpssdbadmin/app/config.php 文件, 配置好 SSDB 的 IP 和端口.

重启 Nginx, 访问 http://localhost/phpssdbadmin, 你应该就能看到界面了!

关于 php.ini 配置

short_open_tag 必须启用!

编辑 php.ini, 查找 short_open_tag, 如果没有, 则加入下面一行, 如果有, 修改为

short_open_tag = On

注意, 行的前面不要有分号或者其它字符!

界面截图:

下载地址: https://github.com/ssdb/phpssdbadmin

Related posts:

  1. Apache用mod_rewrite配置子域名
  2. phpssdbadmin – SSDB 数据库图形界面管理工具升级
  3. Nginx + PHP 配置和启动脚本
  4. 链接包含”%2F”导致mod_rewrite失效
Posted by ideawu at 2014-07-23 12:18:49 Tags:

39 Responses to "SSDB 数据库的图形化界面管理工具 – phpssdbadmin"

  • 万分惭愧,少了一个步骤
    启用
    vi /etc/php.ini
    启用
    short_open_tag = Off
    修改为
    short_open_tag = On

    重启php-fpm及nginx后可以登录后台,谢谢。 Reply
    @alao:

    项目首页,没有写这一项,如果加上去,会更好。
    https://github.com/ssdb/phpssdbadmin Reply
  • 照着官方文档配置的 https://github.com/ssdb/phpssdbadmin

    可以打开登录界面 http://192.168.80.21/phpssdbadmin/login

    但是无法登录到后台,输入完账号密码及验证码,点击login,没有反应,即使账号密码不对,也不提示,phpssdbadmin/app/config/config.php账号密码之前修改过,登录时都正确。

    /etc/php.ini
    按照之前php-fpm日志提示,添加过时区
    date.timezone = Asia/Chongqing

    nginx及php-fpm已无报错信息。

    麻烦帮忙分析一下,看看是哪里出错,如何排查,或修改,谢谢。

    log信息
    phpssdbadmin/logs/2016-12.log



    2016-12-09 11:43:50.437 [TRACE] [192.168.80.1] [loader.php:82] Controller: /data/www/phpssdbadmin/app/controllers/login.php
    2016-12-09 11:43:50.464 [TRACE] [192.168.80.1] [App.php:122] View /data/www/phpssdbadmin/app/views/login.tpl.php
    2016-12-09 11:43:50.466 [TRACE] [192.168.80.1] [App.php:131] Layout /data/www/phpssdbadmin/app/views//layout.tpl.php
    2016-12-09 11:43:50.535 [TRACE] [192.168.80.1] [loader.php:82] Controller: /data/www/phpssdbadmin/app/controllers/captcha.php
    2016-12-09 11:43:50.538 [TRACE] [192.168.80.1] [loader.php:104] No route for %3C!
    2016-12-09 11:43:50.574 [TRACE] [192.168.80.1] [App.php:120] No view for captcha
    2016-12-09 11:43:50.654 [TRACE] [192.168.80.1] [loader.php:104] No route for %3C! Reply
  • 不能通过一个phpssdbadmin管理多个ssdb实例吗? Reply
    @littlehz: 管理多实例功能目前还没有. 你可以在 github 提一个 issue, 方便我跟踪需求, 而且在 github 提的 issue 优先级更高. Reply
  • 我在github下载的最新版的phpssdbadmin,安装完成之后我使用了apache服务,但是页面访问出现The requested URL /phpssdbadmin/login was not found on this server,我查看了目录结构也没有login这个文件,可以解释一下是什么原因造成的吗? Reply
    @fan: 需要配置 apache url rewrite, 你看看 README.md 文档. 如果还有问题, 建议换成 nginx. Reply
  • phpssdbadmin 不可用哦
    SSDB.php 526行 recv抛异常

    原因时调用Info时,cpu占用100%然后,失败 Reply
    @unspace: 你可以看看 ssdb-server 的 log.txt, 也可以简单修改 php 代码加入一些 echo, 以便提供更多的信息, 帮助解决这个问题. Reply
  • 是调用有误还是内存溢出?
    测试ssdb,若只是插入数据,ssdb只需要200m内存。但是以下代码,会造成ssdb内存狂涨,转眼就8个G了。

    READ_ONCE_NUM = 500
    TOO_QUICK_PAUSE = 5
    lastkey = ”
    if True:
    while 1:
    response = ssdb.request(‘scan’, [lastkey, '', READ_ONCE_NUM])

    if response.code !=’ok’ or len(response.data['index']) == 0:
    time.sleep(TOO_QUICK_PAUSE)
    continue

    for key in response.data['index']:
    lastkey = key

    time.sleep(0.1)


    求解答,谢谢! Reply
    @linevty: Hi, 因为遍历整个表, 数据比较多, 会临时占用较多内存. 停止后会自动释放内存的. Reply
    请问需要多少时间释放?我观察了20分钟,还没有释放。
    还有一个现象。比如说ssdb已占用了6G内存。这时我停止全部外部进程,然后重启ssdb。ssdb会马上迅速吃掉6G内存。但这时没有外部进程在使用ssdb。

    环境是:
    Xeon E5410,64位 CentOS 6.4,16G内存,版本1.6.8.8

    谢谢! Reply
    @linevty: 重启后的释放时间依赖你的数据量, 还有磁盘速度, 一般在几分钟(重启后算起). Reply
    @ideawu: 经过多次测试,猜测是磁盘太慢导致(1T SATA硬盘,4亿条数据占66G空间)。
    可能原因是,ssdb经过大负荷遍历读,追加写,局部删除,内存无法按时完成磁盘同步。
    请问是否可以设置参数进行避免? Reply
    @linevty: 这篇文档提到的涉及内存占用的几个参数你看看: http://ssdb.io/docs/zh_cn/config.html 抽空把上面的文档都看看.
    我把进程都停了,等了1个小时,内存还是未释放。

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    15233 root 20 0 15.1g 8.1g 8.0g S 0.3 51.8 12:59.53 ssdb-server Reply
    不好意思缩进未正确显示。说明下while 1:后面全部代码都在循环体中 Reply
  • 博主我还想问个问题:文档里说:一个 ssdb-server 实例占用的内存最高达到(MB):
    cache_size + write_buffer_size * 66 + 32

    write_buffer_size的作用我大致明白,可乘以66是啥意思呢?还有为啥要加上32呢,期待博主的解答,3Q。 Reply
    @array: 你去找一些 leveldb 原理的文章看看. Reply
    @array: 这个需要了解 leveldb 的工作原理. 如果不了解原理, 告诉你数字的意思你也不明白, 如果了解了原理, 就不需要我告诉你数字的意思了. Reply
    @ideawu: OK,多谢博主提示。 Reply
  • 对ssdb的一点疑问,我准备用ssdb做手游服务器的后端数据存储。
    最近使用hiredis的异步接口对ssdb做了个测试比较.
    100W的数据key1-key999999,对应的数据value为1-999999.测试get,key范围key1-key10000随机.

    初始时发出1000条get指令,在数据返回的callback中继续发出新的get指令.

    在我的测试环境,redis每秒能处理18-19W次,redis-server,cpu,30%左右.

    同样的测试程序跑ssdb的数据时1.8W左右,ssdb-server,cpu,75%-99%. Reply
    @sniperHW: 谢谢反馈. 你可以把测试代码发给我. Reply
    @ideawu: https://github.com/sniperHW/KendyNet/blob/master/testredis.c Reply
    @sniperHW: 看了一下, 代码没什么问题. 你可以算出 qps, 然后和 ssdb-bench 得出的做一下对比. Reply
    @ideawu: 谢谢回复,查看了下代码基本知道差异是如何产生了,redis-server支持连接上的批量应答,所以在批量的情况下redis单连接的QPS更高 Reply
  • 我在想,既然 ssdb 完全兼容 redis 的协议,那么,redis 的客户端工具,ssdb 也完全可以用咯~ Reply
    @开飞机的小蜗牛: 不是完全兼容的.. Reply
  • 发现list界面是空的,不知道算正常吗。
    还有一个希望,就是kv等结构可以按照key的范围搜索~ Reply
    @array: list 已经也已经完善了. Reply
    @ideawu: 多谢博主,如果能把范围查询,limit和分页加上就完美啦~现在分页才3条数据少了点~最好可以自定义~ Reply
    @array: 请更新代码, 谢谢! Reply
    @array: list 还没做. 查询功能还未做, 不过你可以手动修改下 URL 参数, 很简单的. Reply
    @ideawu: OK,看到了~ Reply

« [1][2] » 1/2

Leave a Comment