一、环境准备:
角色 |
Ip地址 |
主机名 |
Redis数据库服务器 |
192.168.88.51 |
Host51 |
客户端 |
192.168.88.50 |
Host50 |
二、配置思路:
- 搭建LNP环境
- 搭建Redis数据库服务器
- 安装redis-cluster让php支持Redis数据库
补充:默认PHP不支持redis (也就是不能连接redis服务)
- 测试
三、实操:
第一步:搭建LNP环境
[root@host50~]# yum -y install gcc pcre-devel zlib-devel
[root@host50~]# tar -xf nginx-1.12.2.tar.gz
[root@host50~]# cd nginx-1.12.2/
[root@host50~]#./configure
[root@host50~]# make
[root@host50~]# make install
[root@host50 nginx-1.12.2]# ls /usr/local/nginx/
conf html logs sbin
[root@host50 ~]# yum -y install php php-fpm php-devel
[root@host50 ~]# 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;
}
# 检查修改
[root@host50 ~]# /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 successful
# 如果有httpd服务的话要停止
[root@host50 ~]# systemctl stop httpd
[root@host50 ~]# systemctl disable httpd
Removedsymlink /etc/systemd/system/multi-user.target.wants/httpd.service.
# 启动Nginx服务
[root@host50 ~]# /usr/local/nginx/sbin/nginx
[root@host50 ~]# netstat -utnalp | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 9853/nginx: master
# 启动php-fpm服务
[root@host50 ~]# systemctl start php-fpm
[root@host50 ~]# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
[root@host50 ~]# netstat -utnalp | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 9863/php-fpm: maste
[root@host50 ~]# vim /usr/local/nginx/html/test.php
<?php
$i=99;
echo $i;
?>
[root@host50 ~]# curl http://localhost/test.php
99
第二步:搭建Redis数据库服务器
第三步:安装redis-cluster让php支持Redis数据库
[root@host50~]#tar -xf redis-cluster-4.3.0.tgz
[root@host50~]#cd redis-4.3.0/
# 创建配置命令configure 和生产PHP配置信息文件/usr/bin/php-config
[root@host50 redis-4.3.0]# phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
# 配置
[root@host50redis-4.3.0]# ./configure --with-php-config=/usr/bin/php-config
[root@host50 redis-4.3.0]# make 编译
[root@host50 redis-4.3.0]# make install 安装
# 提示模块的安装目录
Installing shared extensions: /usr/lib64/php/modules/
# 查看目录下的模块列表 有redis.so 模块文件即可
[root@host50 redis-4.3.0]# ls /usr/lib64/php/modules/
curl.so json.so mysql.so pdo.so phar.so sqlite3.so
fileinfo.so mysqli.so pdo_mysql.so pdo_sqlite.so redis.so zip.so
[root@host50 redis-4.3.0]# vim /etc/php.ini
728 extension_dir = "/usr/lib64/php/modules/" # 模块文件所在的目录
730 extension = "redis.so" # 模块名
# 重启服务生效配置
[root@host50 redis-4.3.0]# systemctl restart php-fpm
#查看支持的模块
[root@host50 ~]# php -m | grep -i redis
redis
第四步:测试配置
# 在网站服务器编写PHP脚本 存储数据 和查询数据
[root@host50 ~]# vim /usr/local/nginx/html/set.php
<?php
$redis = new redis(); 定义连接命令
$redis->connect("192.168.88.51",6351); 指定服务器的ip和端口
$redis->auth("123456"); 指定连接密码
$redis->set("redistest","666666"); 存储数据
echo "save ok";
?>
# 编写查询数据的脚本 get.php
[root@host50 ~]# vim /usr/local/nginx/html/get.php
<?php
$redis = new redis(); 定义连接命令
$redis->connect("192.168.88.51",6351); 指定服务器的ip和端口
$redis->auth("123456"); 指定连接密码
echo $redis->get("redistest"); 输出查询结果
?>
[root@host50 ~]# curl http://localhost/set.php #访问存储数据的脚本
save ok
[root@host50 ~]# curl http://localhost/get.php #访问查询数据的脚本
666666
# 在Redis服务器本机查看内存里的数据,能够看到PHP存储的数据为成功
[root@host51 ~]# redis-cli -h 192.168.88.51 -p 6351 -a 123456
192.168.88.51:6351> keys redistest
1) "redistest"
192.168.88.51:6351> get redistest
"666666"
192.168.88.51:6351> exit
网友评论