redis+mysql及通过gearman实现同步
简介
Redis是一个key-value存储系统。和Memcached类似,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++(hiredis),C#,PHP,JavaScript,Perl,Object-C,Python,Ruby等客户端,使用很方便。
架构图
安装LNMP环境(这里为了省事,就是用yum来安装)
注意:如果有LNMP环境的话,就还原快照就行,直接从第四步 :安装redis开始
1、修改yum源
vim /etc/yum.repos.d/epel.repo #添加这个文件
[epel]
name=Extra Packages for
Enterprise Linux 6 - $basearch
baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
failovermethod=priority
enabled=1
gpgcheck=0
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
2、yum安装
yum -y install nginx
php php-fpm php-cli php-common php-gd
php-mbstring php-mysql php-pdo php-devel
php-xmlrpc php-xml php-bcmath php-dba
php-enchant mysql mysql-server
3、简单配置一下nginx
vim /etc/nginx/nginx.conf
server
{
listen 80;
#定义使用www.xx.com访问
server_name www.xx.com;
#设定本虚拟主机的访问日志
access_log /logs/www.xx.com.access.log main;
#默认请求
location / {
root /www/; #定义服务器的默认网站根目录位置
index index.php index.html index.htm; #定义首页索引文件的名称
}
location ~ \.php$ {
root /www/; //红色标注的地方可以改为root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name; //$document_root
include fastcgi_params;
}
}
注意:根据自己的设置来定,是存放php页面的目录
4、启动服务
[iyunv@redis~]# /etc/init.d/php-fpm start
正在启动 php-fpm: [确定]
[iyunv@redis~]# /etc/init.d/mysqld start
正在启动 mysqld: [确定]
[iyunv@redis ~]# /etc/init.d/nginx start
正在启动 nginx:
关闭防火墙
[iyunv@rediswww]# service iptables stop
[iyunv@redis redis]# netstat -tnlp #查看监听
Active
Internet connections (only servers)
Proto
Recv-Q Send-Q Local Address
Foreign Address
State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2101/nginx
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 7544/php-fpm
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1871/mysqld
5、给mysql授权
[iyunv@redis~]# mysql
mysql>grant all privileges on *.* to root@localhost identified by '123456';
mysql>flush privileges;