1. 搭建Redis服务器
在主机 192.168.4.50 上安装并启用 redis 服务
设置变量test,值为123
查看变量test的值
1.1 搭建redis服务器
1.1.1 安装redis服务器
]# yum -y install gcc gcc-c++ make
]# tar -xvf redis-4.0.8.tar.gz
]# cd redis-4.0.8/
redis-4.0.8]# ls
00-RELEASENOTES COPYING Makefile redis.conf runtest-sentinel tests
BUGS deps MANIFESTO runtest sentinel.conf utils
CONTRIBUTING INSTALL README.md runtest-cluster src
redis-4.0.8]# make && make install
redis-4.0.8]# cd utils/
utils]# ./install_server.sh (一路回车)
查看状态
utils]# /etc/init.d/redis_6379 status
查看监听的端口
utils]# netstat -antupl |grep :6379
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 15203/redis-server
utils]# ps -C redis-server
PID TTY TIME CMD
15203 ? 00:00:00 redis-server
停止服务
utils]# /etc/init.d/redis_6379 stop
//再次查看,显示 没有那个文件或目录
utils]# /etc/init.d/redis_6379 status
cat: /var/run/redis_6379.pid: 没有那个文件或目录
Redis is running ()
连接redis
utils]# /etc/init.d/redis_6379 start
Starting Redis server...
]# redis-cli
127.0.0.1:6379> ping
PONG //PONG说明服务正常
1.1.2 基本操作
设置变量test,值为123,查看变量test的值
常用指令操作:
set keyname keyvalue 存储
get keyname 获取
127.0.0.1:6379> set test 123
OK
127.0.0.1:6379> get test
"123"
del keyname 删除变量
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379> del k1
(integer) 1
keys * 打印所有变量
127.0.0.1:6379> keys *
1) "test"
EXISTS keyname 测试是否存在
127.0.0.1:6379> exists k1
(integer) 0
type keyname 查看类型
127.0.0.1:6379> set k2 v1
OK
127.0.0.1:6379> type k2
string
move keyname dbname 移动变量
127.0.0.1:6379> move k2 1 //移动k2到1库
(integer) 1
select 数据库编号0-15 切换库
127.0.0.1:6379> select 1 //切换到1库
OK
127.0.0.1:6379[1]> keys * //查看有k2
1) "k2"
expire keyname 10 设置有效时间
127.0.0.1:6379[1]> EXPIRE k2 10
(integer) 1
ttl keyname 查看生存时间
127.0.0.1:6379[1]> ttl k2
flushall 删除所有变量
127.0.0.1:6379[1]> FLUSHALL
OK
save 保存所有变量
127.0.0.1:6379[1]> save
OK
shutdown 关闭redis服务
127.0.0.1:6379[1]> SHUTDOWN
2.修改Redis服务运行参数
具体要求如下:
端口号 6350
IP地址 192.168.4.50
连接密码 123456
客户端连接Redis服务
2.1 修改redis运行参数
//可以先备份一份,防止修改错误没法还原
]# cp /etc/redis/6379.conf /root/6379.conf
]# /etc/init.d/redis_6379 stop
]# vim /etc/redis/6379.conf
...
bind 192.168.4.50 //设置服务使用的ip
port 6350 //更改端口号
requirepass 123456 //设置密码
]# /etc/init.d/redis_6379 start
Starting Redis server...
]# ss -antul | grep 6350 //查看有端口6350
tcp LISTEN 0 128 192.168.4.50:6350 *:*
由于修改了配置文件所以在连接的时候需要加上ip和端口
]# redis-cli -h 192.168.4.50 -p 6350
192.168.4.50:6350> ping
(error) NOAUTH Authentication required.
192.168.4.50:6350> auth 123456 //输入密码才能操作(因为之前设置过密码)
OK
192.168.4.50:6350> ping
PONG
还可以直接在命令行输入密码连接
]# redis-cli -h 192.168.4.50 -p 6350 -a 123456
192.168.4.50:6350> ping
PONG
停止服务
由于修改Redis服务运行参数,所以在停止服务的时候也不能用默认的方法停止
]# /etc/init.d/redis_6379 stop //停止失败
]# redis-cli -h 192.168.4.50 -p 6350 -a 123456 shutdown
]# ss -antul | grep 6350 //查看没有端口
3.部署LNMP+Redis
3.1 部署nginx
]# systemctl stop httpd
]# cd nginx-1.12.2/
]# yum -y install gcc pcre-devel openssl-devel zlib-devel
]# useradd nginx
]# ./configure --prefix=/usr/local/nginx
]# make && make install
]# ln -s /usr/local/nginx/sbin/nginx /sbin/
]# ls /usr/local/nginx/
conf html logs sbin
修改配置文件并启动服务
]# vim /usr/local/nginx/conf/nginx.conf
65 location ~ \.php$ {
66 root html;
67 fastcgi_pass 127.0.0.1:9000;
68 fastcgi_index index.php;
69 #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
70 include fastcgi.conf;
]# nginx
]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
]# netstat -utnlp | grep :80 查看端口
3.2 部署PHP
编写PHP文件
]#vim /usr/local/nginx/html/test.php
<?php
phpinfo();
?>
安装redis服务软件包并运行服务
]# /etc/init.d/redis_6379 start
]# netstat -utnlp | grep :6350
配置php支持Redis 服务
安装连接redis服务 模块软件包
]# yum -y install php
]# yum -y install autoconf automake
]# rpm -ivh php-devel-5.4.16-42.el7.x86_64.rpm
]# rpm -ivh php-fpm-5.4.16-42.el7.x86_64.rpm
]# tar -zxvf php-redis-2.2.4.tar.gz
]# cd phpredis-2.2.4/
]# phpize 检测php环境
]# ./configure --with-php-config=/usr/bin/php-config
]# make
]# make install
Installing shared extensions: /usr/lib64/php/modules/ 提示模块安装目录
]# ls /usr/lib64/php/modules/redis.so 查看模块文件
配置php加载模块
]# vim /etc/php.ini
728 extension_dir = "/usr/lib64/php/modules/"
730 extension = "redis.so"
:wq
]# systemctl restart php-fpm
]# php -m | grep -i redis 验证模块是否加载成功
redis
验证配置
]# cd nosql(自己打的包)
]# cp linkredis.php /usr/local/nginx/html/
]# vim /usr/local/nginx/html/linkredis.php
<?php
$redis = new redis();
$redis->connect('192.168.4.50',6350);
$redis->auth("123456");
$redis->set('tel,'13152098678);
echo $redis->get('tel');
?>
:wq
真机检测:
- NeHe OpenGL教程 第三十九课:物理模拟
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- Java进阶(三十九)Java集合类的排序,查找,替换操作
Java进阶(三十九)Java集合类的排序,查找,替换操作 前言 在Java方向校招过程中,经常会遇到将输入转换为数组的情况,而我们通常使用ArrayList来表示动态数组.获取到ArrayList对 ...
- Gradle 1.12用户指南翻译——第三十九章. IDEA 插件
本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...
- SQL注入之Sqli-labs系列第三十八关、第三十九关,第四十关(堆叠注入)
0x1 堆叠注入讲解 (1)前言 国内有的称为堆查询注入,也有称之为堆叠注入.个人认为称之为堆叠注入更为准确.堆叠注入为攻击者提供了很多的攻击手段,通过添加一个新 的查询或者终止查询,可以达到修改数据 ...
- 第三百三十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式
第三百三十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式 我们自定义一个main.py来作为启动文件 main.py #!/usr/bin/en ...
- centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课
centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/ind ...
- “全栈2019”Java第三十九章:构造函数、构造方法、构造器
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形
原文:WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形 说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘> ...
- 微信小程序把玩(三十九)navigation API
原文:微信小程序把玩(三十九)navigation API 演示效果也看到了小程序也就提供这几个处理导航控制.值得注意的是只能同时导航五个页面 主要属性: 导航条一些方法 wx.setNavigati ...
随机推荐
- PAT(B) 1059 C语言竞赛(C)
题目链接:1059 C语言竞赛 (20 point(s)) 题目描述 C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛.既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 冠军将赢得一份" ...
- [tomcat] 连接池参数maxActive、maxIdle 、maxWait 等
maxActive 连接池支持的最大连接数,这里取值为20,表示同时最多有20个数据库连接.设 0 为没有限制.maxIdle 连接池中最多可空闲maxIdle个连接 ,这里取值为20,表示即使没有数 ...
- 使用脚本将AspNetCore发布到IIS上
首先你必须要了解的是,没有脚本的情况下,如何把AspNetCore的应用发布到IIS上. 大致分为这些步骤: 安装MS C++ 2015 x86&x64 安装正确版本的.NET Core Ru ...
- (转) 嵌入式 Linux 利用 udev 实现自动检测挂载U盘
本文链接:https://blog.csdn.net/cfl927096306/article/details/95180940 udev配置文件是/etc/udev/udev.conf,也许长这样: ...
- nodejs模块fs——文件操作api
// fs模块常用api // 读取文件 .写入文件 .追加文件. 拷贝文件 .删除文件 // 读取文件 // fs.readFile(path[, options], callback) // fs ...
- stdmap 用 at() 取值,如果 key 不存在,不好意思,程序崩溃。QMap 用 value()取值,如果 key 不存在,不会崩溃,你还可以指定默认值
我觉得 Qt6 最应该升级的是容器类 stdmap 在遍历的时候,同时获取 key 与 value 非常方便: for(auto& var:map){ qDebug()<<v ...
- Luogu5401 CTS2019珍珠(生成函数+容斥原理+NTT)
显然相当于求有不超过n-2m种颜色出现奇数次的方案数.由于相当于是对各种颜色选定出现次数后有序排列,可以考虑EGF. 容易构造出EGF(ex-e-x)/2=Σx2k+1/(2k+1)!,即表示该颜色只 ...
- App功能测试点总结
1.手机操作系统android(谷歌).ios(苹果).Windows phone(微软).Symbian(诺基亚).BlackBerry OS(黑莓).windows mobile(微软),目前主流 ...
- 关于MUI页面之间传值以及刷新的问题
一.页面刷新问题 1.父页面A跳转到子页面B,B页面修改数据后再跳回A页面,刷新A页面数据 (1).父页面A代码 window.addEventListener("pageflowrefre ...
- Mysql踩坑 自动更新的时间只允许有一个
执行如下SQL创建表: CREATE TABLE aa ( a INT, b TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, c TIMESTAMP DEFAULT CU ...