时间:2021-05-23
配置环境:redhat6.5
server1:redis(172.25.254.1)
server2:php(172.25.254.2)
server3:mysql(172.25.254.3)
配置步骤:
server2:
1、server2安装php的redis相应模块
2、nginx安装
[root@server2 php-fpm.d]# rpm -ivh nginx-1.8.0-1.el6.ngx.x86_64.rpm warning: nginx-1.8.0-1.el6.ngx.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEYPreparing... ########################################### [100%] 1:nginx ########################################### [100%]---------------------------------------------------------------------- Thanks for using nginx! Please find the official documentation for nginx here:* https://nginx.org/en/docs/Commercial subscriptions for nginx are available on:* https://nginx.com/products/ ----------------------------------------------------------------------[root@server2 php-fpm.d]# id nginxuid=498(nginx) gid=499(nginx) groups=499(nginx)3、nginx和php配置
1、php配置
[root@server2 php-fpm.d]# cd /etc/php-fpm.d/[root@server2 php-fpm.d]# id nginxuid=498(nginx) gid=499(nginx) groups=499(nginx)[root@server2 php-fpm.d]# vim f saved as /etc/my.cnf.rpmsave[root@server3 ~]# rpm -qa | grep mysql[root@server3 ~]# cd /var/lib/mysql/[root@server3 mysql]# rm -fr *[root@server3 mysql]# ls[root@server3 mysql]# yum install -y mysql-server ##安装2、开启mysql,并导入测试数据库
[root@server3 ~]# /etc/init.d/mysqld start[root@server3 ~]# mysql < test.sql[root@server3 ~]# mysql < test.sql [root@server3 ~]# cat test.sql use test;CREATE TABLE `test` (`id` int(7) NOT NULL AUTO_INCREMENT, `name` char(8) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `test` VALUES (1,'test1'),(2,'test2'),(3,'test3'),(4,'test4'),(5,'test5'),(6,'test6'),(7,'test7'),(8,'test8'),(9,'test9');#DELIMITER $$#CREATE TRIGGER datatoredis AFTER UPDATE ON test FOR EACH ROW BEGIN# SET @RECV=gman_do_background('syncToRedis', json_object(NEW.id as `id`, NEW.name as `name`)); # END$$#DELIMITER ;3、数据库授权
[root@server3 ~]# mysqlmysql> grant all on test.* to redis@'%' identified by 'westos';Query OK, 0 rows affected (0.00 sec)mysql> select * from test.test;+----+-------+| id | name |+----+-------+| 1 | test1 || 2 | test2 || 3 | test3 || 4 | test4 || 5 | test5 || 6 | test6 || 7 | test7 || 8 | test8 || 9 | test9 |+----+-------+9 rows in set (0.00 sec)测试:访问172.25.254.2/test.php
1、php默认从redis 索取数据,第一次redis无缓存,则php从mysql'索取数据
第一次无缓存
第二次索取数据后:
redis节点也可查看
[root@server1 redis-4.0.1]# redis-cli127.0.0.1:6379> get 2"test2"2、将数据库server3节点内容更新并删除节点,则php从数据库索取数据节点更新内容
mysql> update test.test set name='westos' where id=1;Query OK, 1 row affected (0.05 sec)Rows matched: 1 Changed: 1 Warnings: 0mysql> select * from test.test;+----+--------+| id | name |+----+--------+| 1 | westos || 2 | test2 || 3 | test3 || 4 | test4 || 5 | test5 || 6 | test6 || 7 | test7 || 8 | test8 || 9 | test9 |+----+--------+9 rows in set (0.00 sec)redis的master主机删除节点内容
[root@server1 redis-4.0.1]# redis-cli127.0.0.1:6379> get 2"test2"127.0.0.1:6379> del 1(integer) 1127.0.0.1:6379> get 1(nil)刷新页面,再次访问
以上redis 作为 mysql 的缓存服务器,但是如果更新了 mysql,redis中仍然会有对应的 KEY,数据就不会更新,此时就会出现 mysql 和 redis 数据不一致的情况。
总结
以上所述是小编给大家介绍的redis服务器环境下mysql实现lnmp架构缓存,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Ubuntu搭建基于Docker的LNMP+Redis的开发环境服务器环境:Ubuntu14.041.安装Docker1.1执行update命令,和服务器同步软
为公司搭建一个测试架构,要求跟真是环境贴近需要安装Nginx、PHP、mysql、memcached、redis!但是只给了一台R720的服务器,没办法,只能全
一、背景最近在做零信任安全网关,需要使用Redis作为认证缓存服务器,因为网关服务器分布在多个集群,每次都跨机房认证不太实现;所以需要使用Redis主从同步,将
本文实例讲述了Centos7.3服务器搭建LNMP环境的方法。分享给大家供大家参考,具体如下:需求:在Centos7.3下搭建LNMP环境1.关闭防火墙和sel
本文以Nginx,Rails,Mysql,Redis作为例子,换成其他web服务器,语言,数据库,缓存服务都是类似的。以下是3层的示意图,方便后续引用:1.客户