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 ...
随机推荐
- CSS的三种基本框架
CSS的三类选择器 1.css-css的基本选择器(三种) 要对哪个标签里面的数据进行操作 (1)标签选择器 div { background-color:red; color:blue; } (2) ...
- 配置Fiddler
想要 浏览更多Fiddler内容:请点击进入Fiddler官方文档 阅读目录: 1.Fiddler入门 2.配置web浏览器以使用Fiddler: 3.配置Fiddler解密HTTPS流量: 4.配置 ...
- spring整合MQ
---恢复内容开始--- 一. 导入依赖 <dependencies> <!-- ActiveMQ客户端完整jar包依赖 --> <dependency> < ...
- go开发 modules 的使用和代理
go开发 modules 的使用和代理 初学go语言,一堆 来自谷歌的包如 import ( "code.google.com/xxx" ) 不翻墙是很难下载下来的. 另外还有麻烦 ...
- Luogu5285 [十二省联考2019] 骗分过样例
题目分析: 观察前3个点,$361=19*19$,所以可以发现实际上就是快速幂,然后模数猜测是$998244353$,因为功能编号里面有这个数字,用费马小定理处理一下. $pts:12$ 观察第4个点 ...
- linux安装imagemagick,centos安装imagemagick方法
1.安装文件格式支持库 yum install tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype- ...
- Python 2.7.x 和 3.x 版本的重要区别小结
许多Python初学者都会问:我应该学习哪个版本的Python.对于这个问题,我的回答通常是"先选择一个最适合你的Python教程,教程中使用哪个版本的Python,你就用那个版本.等学得差 ...
- Java 面向对象_接口
接口定义 接口就是多个类的公共规范 接口是一种引用数据类型, 最重要的内容是其中的抽象方法 定义格式: public interface MyInterfaceAbstract { // 这是一个抽象 ...
- POJ1222、POJ3279、POJ1753--Flip
POJ1222-EXTENDED LIGHTS OUT POJ3279-Fliptile POJ1753-Flip Game 为什么将着三个题放一起讲呢?因为只要搞明白了其中一点,就可以一次3ac了- ...
- 【转载】 Asp.Net安全之防止脚本入
在ASP.NET开发过程中,安全性是必须要重中之重需要考虑的,其中一种情况是要防止用户输入恶意脚本入侵的情况,恶意脚本入侵指的是用户在提交内容中提交了包含特殊Javascript脚本程序等非法信息,如 ...