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
 
真机检测:

三十九.NoSQL概述 部署Redis服务 、 部署LNMP+Redis的更多相关文章

  1. NeHe OpenGL教程 第三十九课:物理模拟

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  2. Java进阶(三十九)Java集合类的排序,查找,替换操作

    Java进阶(三十九)Java集合类的排序,查找,替换操作 前言 在Java方向校招过程中,经常会遇到将输入转换为数组的情况,而我们通常使用ArrayList来表示动态数组.获取到ArrayList对 ...

  3. Gradle 1.12用户指南翻译——第三十九章. IDEA 插件

    本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  4. SQL注入之Sqli-labs系列第三十八关、第三十九关,第四十关(堆叠注入)

    0x1 堆叠注入讲解 (1)前言 国内有的称为堆查询注入,也有称之为堆叠注入.个人认为称之为堆叠注入更为准确.堆叠注入为攻击者提供了很多的攻击手段,通过添加一个新 的查询或者终止查询,可以达到修改数据 ...

  5. 第三百三十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式

    第三百三十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式 我们自定义一个main.py来作为启动文件 main.py #!/usr/bin/en ...

  6. 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 ...

  7. “全栈2019”Java第三十九章:构造函数、构造方法、构造器

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形

    原文:WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形 说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘> ...

  9. 微信小程序把玩(三十九)navigation API

    原文:微信小程序把玩(三十九)navigation API 演示效果也看到了小程序也就提供这几个处理导航控制.值得注意的是只能同时导航五个页面 主要属性: 导航条一些方法 wx.setNavigati ...

随机推荐

  1. PAT(B) 1059 C语言竞赛(C)

    题目链接:1059 C语言竞赛 (20 point(s)) 题目描述 C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛.既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 冠军将赢得一份" ...

  2. [tomcat] 连接池参数maxActive、maxIdle 、maxWait 等

    maxActive 连接池支持的最大连接数,这里取值为20,表示同时最多有20个数据库连接.设 0 为没有限制.maxIdle 连接池中最多可空闲maxIdle个连接 ,这里取值为20,表示即使没有数 ...

  3. 使用脚本将AspNetCore发布到IIS上

    首先你必须要了解的是,没有脚本的情况下,如何把AspNetCore的应用发布到IIS上. 大致分为这些步骤: 安装MS C++ 2015 x86&x64 安装正确版本的.NET Core Ru ...

  4. (转) 嵌入式 Linux 利用 udev 实现自动检测挂载U盘

    本文链接:https://blog.csdn.net/cfl927096306/article/details/95180940 udev配置文件是/etc/udev/udev.conf,也许长这样: ...

  5. nodejs模块fs——文件操作api

    // fs模块常用api // 读取文件 .写入文件 .追加文件. 拷贝文件 .删除文件 // 读取文件 // fs.readFile(path[, options], callback) // fs ...

  6. stdmap 用 at() 取值,如果 key 不存在,不好意思,程序崩溃。QMap 用 value()取值,如果 key 不存在,不会崩溃,你还可以指定默认值

    我觉得 Qt6 最应该升级的是容器类 stdmap 在遍历的时候,同时获取 key 与 value 非常方便: for(auto& var:map){    qDebug()<<v ...

  7. Luogu5401 CTS2019珍珠(生成函数+容斥原理+NTT)

    显然相当于求有不超过n-2m种颜色出现奇数次的方案数.由于相当于是对各种颜色选定出现次数后有序排列,可以考虑EGF. 容易构造出EGF(ex-e-x)/2=Σx2k+1/(2k+1)!,即表示该颜色只 ...

  8. App功能测试点总结

    1.手机操作系统android(谷歌).ios(苹果).Windows phone(微软).Symbian(诺基亚).BlackBerry OS(黑莓).windows mobile(微软),目前主流 ...

  9. 关于MUI页面之间传值以及刷新的问题

    一.页面刷新问题 1.父页面A跳转到子页面B,B页面修改数据后再跳回A页面,刷新A页面数据 (1).父页面A代码 window.addEventListener("pageflowrefre ...

  10. Mysql踩坑 自动更新的时间只允许有一个

    执行如下SQL创建表: CREATE TABLE aa ( a INT, b TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, c TIMESTAMP DEFAULT CU ...