此项目来自: https://gitee.com/careyjike_173/redis_web_client.git ,做了如下修改:
-
bug修改
- 集群模式时查看详细客户端的bug:unhashable type错误
-
功能新增
- 支持在控制台执行命令
- 支持命令结果按json展示,并增加多种展示方式
- 支持key使用/、+等特殊字符
- docker化,下面的是环境变量含义:
- ADMIN_MAIL: 管理员地址邮件,非必须
- WEB_USER:web登录界面使用的用户,默认为admin,启动后使用下面的方法设置密码:
- 在容器中执行:cd /opt/redis_web_client&&python manage.py changepassword ${WEB_USER}
- NGINX_PORT:暴露给外部访问端口,为访问入口,默认为9000
- DJANGO_PORT:nginx和django在数据交互端口,默认为8000
- WEB_DNS_NAME:如果配置了https在反向代理,这里需要配置反向代理暴露给外部访问的域名信息,默认为:sub.your.com:12379
- MYSQL_DB_NAME:mysql数据库的实例名,默认为rediswebclient
- MYSQL_DB_HOST:mysql主机名,默认为127.0.0.1
- MYSQL_DB_PORT:mysql端口,默认为3306
- MYSQL_DB_USER:mysql用户名,默认为root
- MYSQL_DB_PASSWD:mysql密码,默认为rediswebclient@123
- IS_YOUR_CONF:是否使用自己的配置文件,1:自己配置文件通过挂载的方式覆盖到容器内部,默认为0:使用默认配置文件,包括下面在文件:
- /opt/redis_web_client/conf/conf.py
- /opt/redis_web_client/redis_admin/settings.py
- /opt/redis_web_client/funicorn.py
- /etc/nginx/nginx.conf
- /etc/nginx/conf.d/redis_web_client.conf
- docker镜像下载:docker pull zhitom/rediswebclient
-
将redis配置中的host和name长度做了扩充
-
部署到https环境中,增加CSRF_TRUSTED_ORIGINS的对外域名设置信息:
#redis_admin/settings.py
CSRF_TRUSTED_ORIGINS = [
# may have to include host AND port
'sub.your.com:8263',
]
- 容器里边nginx配置样例,访问地址: http://127.0.0.1:9000/ :
#/etc/nginx/nginx.conf
user root;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
#sendfile on;
#tcp_nopush on;
#tcp_nodelay on;
keepalive_timeout 65;
#types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
#ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
#ssl_prefer_server_ciphers on;
##
# Logging Settings
##
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
#gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
# map $http_upgrade $connection_upgrade {
# default upgrade;
# '' close;
# }
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#/etc/nginx/conf.d/redis_web_client.conf
server {
listen 9000;
server_name sub.your.com;
access_log /var/log/access_nginx.log combined;
add_header Content-Security-Policy upgrade-insecure-requests;
index index.html index.htm index.php;
client_max_body_size 1000M;
location / {
proxy_pass http://127.0.0.1:8000;
# proxy_redirect http:// $scheme://;
# port_in_redirect on;
# #proxy_redirect off;
# proxy_set_header Host $http_host;
# proxy_set_header X-Real-IP $remote_addr:$remote_port;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
# proxy_set_header X-Forwarded-Proto "https";
}
location /static {
expires 7d;
autoindex on;
add_header Cache-Control provate;
alias /opt/wwwroot/static;
}
}
Redis Admin是一个Redis管理平台,主要用于方便查看Key信息。
目前支持单机Redis
和Redis Cluster
模式
如果您有好的建议或需求欢迎私信
通过 Issues 进行反馈