redis的一些安全设置
设置监听IP,设置监听内网ip,不设置默认监听全网IP(危险)
bind 127.0.0.1
更改默认监听端口,修改为其他端口
port 6379 改为 port 23303
设置密码,redis开启密码认证默认密码是foobared,修改为自己想用的密码即可。
requirepass foobared
将config命令改名,编辑redis.conf,添加配置
rename-command CONFIG mori_config
也可以禁用config命令
rename-command CONFIG ""
慢查询日志
redis中针对慢查询日志,可以设置两个参数。
- 一个是执行时长
slowlog-log-slower-than 10000
,单位是微秒,即查询命令所耗时间超过10000微秒就会被记录 - 另外一个是慢查询日志的长度`slowlog-max-len
128`。当一个新的命令被写入日志时,最老的一条命令日志会从队列中被移除。比如慢查询日志长度128,即可以记录128条慢查询日志,当第129条慢查询日志出现时,第一条慢查询日志就会被移除。
慢查询日志是保存在内存中的,读写速度非常快。除了在redis.conf进行修改外还可以使用config命令修改。
CONFIG SET slowlog-log-slower-than 10000
CONFIG SET slowlog-max-len 1000
redis-cli中查询慢查询日志记录命令
slowlog get # 查询所有慢查询日志记录
slowlog get 1 # 查看1条慢查询日志
slowlog get 2 # 查看2条
php安装redis扩展模块
环境:php-fpm的安装路径/usr/local/php-fpm
第一种方法
/usr/local/php-fpm/bin/prcl install redis
[root@moli_linux1 bin]# /usr/local/php-fpm/bin/pecl install redis
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
downloading redis-4.3.0.tgz ...
Starting to download redis-4.3.0.tgz (241,883 bytes)
..................................................done: 241,883 bytes
25 source files, building
running: phpize
Configuring for:
PHP Api Version: 20160303
Zend Module Api No: 20160303
Zend Extension Api No: 320160303
enable igbinary serializer support? [no] : no # 保持默认敲no即可
enable lzf compression support? [no] : no
安装成功的提示:
Build process completed successfully
Installing '/usr/local/php-fpm/lib/php/extensions/no-debug-non-zts-20160303/redis.so'
install ok: channel://pecl.php.net/redis-4.3.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=redis.so" to php.ini
修改php.ini配置文件,添加redis配置
vim /usr/local/php-fpm/etc/php.ini
# 下面添加内容
extension=redis.so
重启php-fpm服务,检查是否加载了redis模块。
[root@moli_linux1 bin]$ /usr/local/php-fpm/bin/php -m | grep redis
redis
第二种方法
源码编译安装
cd /usr/local/src
wget http://pecl.php.net/get/redis-4.3.0.tgz
tar -zxvf redis-4.3.0.tgz
cd redis-4.3.0
/usr/local/php-fpm/bin/phpize
./configure --with-php-config=/usr/local/php-fpm/bin/php-config
make
make install
然后编辑配置文件php.ini,增加extension=redis.so
,再重启php-fpm服务即可。
php中使用redis存储会话session
编辑php.ini,修改或者添加下面配置:
vim /usr/local/php-fpm/etc/php.ini
# 配置如下
session.save_handler = "redis"
session.save_path = "tcp://127.0.0.1:6379"
或者在php-fpm配置文件对应的pool中添加配置:
php_value[session.save_handler] = redis
php_value[session.save_path] = "tcp://127.0.0.1:6379"
创建测试文件:
vim session.php
# 内容如下:
<?php
session_start();
if (!isset($_SESSION['TEST'])) {
$_SESSION['TEST'] = time();
}
$_SESSION['TEST3'] = time();
print $_SESSION['TEST'];
print "<br><br>";
print $_SESSION['TEST3'];
print "<br><br>";
print session_id();
?>
执行php文件,生成两个会话
[root@moli_linux1 html]$ /usr/local/php-fpm/bin/php session.php
1554530024<br><br>1554530024<br><br>0mkg95st49po1q1bthupd4d56r
[root@moli_linux1 html]$ /usr/local/php-fpm/bin/php session.php
1554530026<br><br>1554530026<br><br>m80hiqb8j56l3lhlur4o8o77r3
打开redis-cli,看是否有存储会话,有则表示配置成功。
[root@moli_linux1 html]$ redis-cli
127.0.0.1:6379> keys *
1) "k4"
2) "k1"
3) "k2"
4) "k5"
5) "PHPREDIS_SESSION:0mkg95st49po1q1bthupd4d56r"
6) "k3"
7) "PHPREDIS_SESSION:m80hiqb8j56l3lhlur4o8o77r3"