具体要求如下:
在主机 192.168.4.51 上安装并启用 redis 服务设置变量school,值为tarena查看变量school的值实现此案例需要按照如下步骤进行。
步骤一:搭建redis服务器
1)安装源码redis软件
[root@redis1 redis]# yum -y install gcc [root@redis1 redis]# tar -zxf redis-4.0.8.tar.gz [root@redis1 redis]# cd redis-4.0.8/ [root@redis1 redis-4.0.8]# ls 00-RELEASENOTES CONTRIBUTING deps Makefile README.md runtest runtest-sentinel src utils BUGS COPYING INSTALL MANIFESTO redis.conf runtest-cluster sentinel.conf tests [root@redis1 redis-4.0.8]# make [root@redis1 redis-4.0.8]# make install [root@redis1 redis-4.0.8]# cd utils/ [root@redis1 utils]# ./install_server.sh Welcome to the redis service installer This script will help you easily set up a running redis server Please select the redis port for this instance: [6379] Selecting default: 6379 Please select the redis config file name [/etc/redis/6379.conf] Selected default - /etc/redis/6379.conf Please select the redis log file name [/var/log/redis_6379.log] Selected default - /var/log/redis_6379.log Please select the data directory for this instance [/var/lib/redis/6379] Selected default - /var/lib/redis/6379 Please select the redis executable path [/usr/local/bin/redis-server] Selected config: Port : 6379 //端口号 Config file : /etc/redis/6379.conf //配置文件目录 Log file : /var/log/redis_6379.log //日志目录 Data dir : /var/lib/redis/6379 //数据库目录 Executable : /usr/local/bin/redis-server //启动程序的目录 Cli Executable : /usr/local/bin/redis-cli //命令行的连接工具 Is this ok? Then press ENTER to go on or Ctrl-C to abort. //回车完成配置 Copied /tmp/6379.conf => /etc/init.d/redis_6379 //服务启动脚本 Installing service... Successfully added to chkconfig! Successfully added to runlevels 345! Starting Redis server... //提示服务已经启动 Installation successful! //提示安装成功2)查看服务状态
[root@redis1 utils]# /etc/init.d/redis_6379 status Redis is running (15203)3)查看监听的端口
[root@redis1 utils]# netstat -antupl |grep :6379 //查看端口 tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 15203/redis-server [root@redis1 utils]# ps -C redis-server //查看进程 PID TTY TIME CMD 15203 ? 00:00:00 redis-server4)停止服务
[root@redis1 utils]# /etc/init.d/redis_6379 stop Stopping ... Waiting for Redis to shutdown ... Redis stopped5)连接redis
[root@redis1 utils]# /etc/init.d/redis_6379 start Starting Redis server... [root@redis1 utils]# redis-cli //默认连接127.0.0.1地址的 6379端口 127.0.0.1:6379> ping PONG //PONG说明服务正常6)存储变量school,值为tarena,查看变量school的值
常用指令操作:
set keyname keyvalue //存储
get keyname //获取
127.0.0.1:6379> set school tarena OK 127.0.0.1:6379> get school "tarena" 127.0.0.1:6379>命令set 、 mset 、 get 、 mget
具体操作如下
192.168.4.50:6350> set name bob OK 192.168.4.50:6350> 192.168.4.50:6350> mset age 19 sex boy OK 192.168.4.50:6350> 192.168.4.50:6350> get name "bob" 192.168.4.50:6350> 192.168.4.50:6350> mget age sex 1) "19" 2) "boy" 192.168.4.50:6350> 192.168.4.50:6350>命令keys 、 type 、 exists 、 del
具体操作如下
192.168.4.50:6350> keys * 1) "sex" 2) "age" 3) "name" 192.168.4.50:6350> 192.168.4.50:6350> keys ??? 1) "sex" 2) "age" 192.168.4.50:6350> keys a* 1) "age" 192.168.4.50:6350> 192.168.4.50:6350> type age //使用set命令存储的变量都是字符类型 string 192.168.4.50:6350> 192.168.4.50:6350> del age (integer) 1 192.168.4.50:6350> 192.168.4.50:6350> exists age //变量不存储返回值0 (integer) 0 192.168.4.50:6350> 192.168.4.50:6350> exists sex //变量存在 返回值1 (integer) 1 192.168.4.50:6350>命令ttl 、 expire 、 move 、 flushdb 、flushall 、save、shutdown、select
具体操作如下
192.168.4.50:6350> keys * 1) "sex" 2) "name" 192.168.4.50:6350> ttl sex //返回值-1 表示变量永不过期 (integer) -1 192.168.4.50:6350> 192.168.4.50:6350> expire sex 20 //设置变量过期时间为 20 秒 (integer) 1 192.168.4.50:6350> 192.168.4.50:6350> ttl sex //还剩14秒过期 (integer) 14 192.168.4.50:6350> 192.168.4.50:6350> ttl sex //返回值-2 表示已经过期 (integer) -2 192.168.4.50:6350> exists sex //变量已经不存在 (integer) 0 192.168.4.50:6350> 192.168.4.50:6350> move name 1 //把变量name移动到1号库里 (integer) 1 192.168.4.50:6350> 192.168.4.50:6350> select 1 //切换到1号库 OK 192.168.4.50:6350[1]> keys * //查看 1) "name" 192.168.4.50:6350[1]> select 0 //切换到0号库 OK 192.168.4.50:6350> keys * //查看 (empty list or set) 192.168.4.50:6350> 192.168.4.50:6350> select 1 //切换到1号库 OK 192.168.4.50:6350[1]> 192.168.4.50:6350[1]> keys * 1) "name" 192.168.4.50:6350[1]> 192.168.4.50:6350[1]> flushdb OK 192.168.4.50:6350[1]> 192.168.4.50:6350[1]> keys * (empty list or set) 192.168.4.50:6350[1]> 192.168.4.50:6350[1]> flushall OK 192.168.4.50:6350[1]> 192.168.4.50:6350[1]> save OK 192.168.4.50:6350[1]> 192.168.4.50:6350[1]> shutdown not connected> //提示连接断开 not connected> exit //退出登录 [root@host50 ~]# [root@host50 ~]# netstat -utnlp | grep redis-server //没有进程信息 [root@host50 ~]# [root@host50 ~]# /etc/init.d/redis_6379 start //启动服务 Starting Redis server... [root@host50 ~]# [root@host50 ~]# netstat -utnlp | grep redis-server //查看进程信息 tcp 0 0 192.168.4.50:6350 0.0.0.0:* LISTEN 11475/redis-server [root@host50 ~]#实现此案例需要按照如下步骤进行。
步骤一:修改主配置文件
1)修改配置文件
[root@host50 utils]# cp /etc/redis/6379.conf /root/6379.conf //可以先备份一份,防止修改错误没法还原 [root@host50 utils]# /etc/init.d/redis_6379 stop [root@host50 utils]# vim /etc/redis/6379.conf ... bind 192.168.4.50 //设置服务使用的ip port 6350 //更改端口号 requirepass 123456 //设置密码 :wq2)修改启动脚本
[root@host50 ~]# vim +43 /etc/init.d/redis_6379 $CLIEXEC -h 192.168.4.50 -p 6350 -a 123456 shutdown :wq3)启动服务
[root@host50 ~]# /etc/init.d/redis_6379 start Starting Redis server... [root@host50 ~]# [root@host50 ~]# netstat -utnlp | grep redis-server tcp 0 0 192.168.4.50:6350 0.0.0.0:* LISTEN 11523/redis-server [root@host50 ~]#4)测试配置
访问服务存取数据
[root@host50 ~]# redis-cli -h 192.168.4.50 -p 6350 -a 123456 //访问服务 192.168.4.50:6350> ping PONG 192.168.4.50:6350> keys * (empty list or set) 192.168.4.50:6350> 192.168.4.50:6350> set x 99 OK 192.168.4.50:6350> 192.168.4.50:6350> exit [root@host50 ~]#实现此案例需要按照如下步骤进行。
步骤一:在主机192.168.4.57部署LNMP 环境
1)安装源码nginx软件及php-fpm
]#yum -y install gcc pcre-devel zlib-devel //安装依赖 ]#tar -zxvf nginx-1.12.2.tar.gz //解压 ]#cd nginx-1.12.2 //进源码目录 ]#./configure //配置 …… …… Configuration summary + using system PCRE library + OpenSSL library is not used + using system zlib library nginx path prefix: "/usr/local/nginx" nginx binary file: "/usr/local/nginx/sbin/nginx" nginx modules path: "/usr/local/nginx/modules" nginx configuration prefix: "/usr/local/nginx/conf" nginx configuration file: "/usr/local/nginx/conf/nginx.conf" nginx pid file: "/usr/local/nginx/logs/nginx.pid" nginx error log file: "/usr/local/nginx/logs/error.log" nginx http access log file: "/usr/local/nginx/logs/access.log" nginx http client request body temporary files: "client_body_temp" nginx http proxy temporary files: "proxy_temp" nginx http fastcgi temporary files: "fastcgi_temp" nginx http uwsgi temporary files: "uwsgi_temp" nginx http scgi temporary files: "scgi_temp" [root@localhost nginx-1.12.2]# make //编译 …… …… objs/src/http/modules/ngx_http_upstream_zone_module.o \ objs/ngx_modules.o \ -ldl -lpthread -lcrypt -lpcre -lz \ -Wl,-E sed -e "s|%%PREFIX%%|/usr/local/nginx|" \ -e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" \ -e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" \ -e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" \ < man/nginx.8 > objs/nginx.8 make[1]: 离开目录“/root/lnmp/nginx-1.12.2” [root@localhost nginx-1.12.2]#make install //安装 …… …… test -d '/usr/local/nginx/logs' \ || mkdir -p '/usr/local/nginx/logs' test -d '/usr/local/nginx/html' \ || cp -R html '/usr/local/nginx' test -d '/usr/local/nginx/logs' \ || mkdir -p '/usr/local/nginx/logs' make[1]: 离开目录“/root/lnmp/nginx-1.12.2” [root@localhost nginx-1.12.2]# ls /usr/local //查看安装目录 bin etc games include lib lib64 libexec nginx sbin share src [root@localhost nginx-1.12.2]# [root@localhost nginx-1.12.2]# ls /usr/local/nginx //查看目录列表 conf html logs sbin [root@localhost nginx-1.12.2]# ]#yum -y install php-fpm //安装php-fpm …… …… 已安装: php-fpm.x86_64 0:5.4.16-45.el7 作为依赖被安装: libzip.x86_64 0:0.10.1-8.el7 php-common.x86_64 0:5.4.16-45.el7 完毕!2)修改配置nginx.conf
] # vim +65 /usr/local/nginx/conf/nginx.conf location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } :wq ]# /usr/local/nginx/sbin/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 successful3)启动服务
启动php-fpm服务
]# systemctl start php-fpm //启动服务 ]# netstat -utnlp | grep :9000 //查看端口启动nginx服务
]# /usr/local/nginx/sbin/nginx ]# netstat -utnlp | grep :80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 23505/nginx: master4)测试配置
]# vim /usr/local/nginx/html/test.php //编写php文件 <?php echo "hello world!!!"; ?> :wq ]# curl http://localhost/test.php //访问nginx服务 hello world!!!步骤二:配置PHP支持redis
1)安装php扩展
[root@host71 ~]# rpm -q php php-devel 未安装软件包 php 未安装软件包 php-devel [root@host71 ~]# [root@host71 ~]# rpm -q automake autoconf 未安装软件包 automack 未安装软件包 autoconf [root@host71 ~]# [root@host71 ~]# yum -y install php php-devel automake autoconf //安装依赖 ]# tar -zxf php-redis-2.2.4.tar.gz //安装扩展包 ]# cd phpredis-2.2.4/ ]# phpize //生成配置文件php-config及 configure命令 Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525 ]# ./configure --with-php-config=/usr/bin/php-config //配置 ]# make //编译 ]# make install //安装2)修改php.ini文件
]#vim /etc/php.ini 728 extension_dir = "/usr/lib64/php/modules/" //模块文件目录 730 extension = "redis.so" //模块文件名 :wq ]# systemctl restart php-fpm //重启php-fpm服务 ]# php -m | grep -i redis //查看已加载的模块 redis步骤三:测试配置:编写网站脚本,把数据存储到redis服务器192.168.4.50
1)查看192.168.4.50主机的redis服务是否运行
[root@host50 ~]# netstat -utnlp | grep redis-server tcp 0 0 192.168.4.50:6350 0.0.0.0:* LISTEN 11523/redis-server [root@host50 ~]# [root@host50 ~]# redis-cli -h 192.168.4.50 -p 6350 -a 123456 //访问服务 192.168.4.50:6350> ping PONG 192.168.4.50:6350> exit2)编写网站脚本
]# vim /usr/local/nginx/html/linkredis.php <?php $redis = new redis(); $redis->connect("192.168.4.50","6350"); $redis->auth("123456"); $redis->set("linux","redhat"); echo $redis->get("linux"); ?> :wq3)访问网站脚本
]#curl http://localhost/linkredis.php //访问nginx服务 redhat4)在192.168.4.50 服务器,查看数据
[root@host50 ~]# redis-cli -h 192.168.4.50 -p 6350 -a 123456 //连接redis服务 192.168.4.50:6350> keys * //查看变量 1) "linux" 192.168.4.50:6350> 192.168.4.50:6350> get linux //获取值 "redhat" 192.168.4.50:6350>