LAMP+REDIS主从
环境:主机:192.168.176.124(lamp)
主机:192.168.176.122(redis)
主机:192.168.176.123(redis从)
Lamp+redis原理
用户通过LAMP访问网站时首次访问网站并用用户名和密码方式登录时redis缓存默认是没有改用户的用户名和密码对应列表Php第一次从mysql读取用户信息后,将其缓存在redis中,下次在请求数据时,就从redis中读取数据,来降低mysql的服务器的访问压力。
Redis的所有的数据都是保存在内存中,然后不定期的通过异步方式保存成快照,再将快照保存到磁盘上(半持久化模式),也可以每一次将数据的变化,写入到一个日志中再保存到磁盘,(全持久化模式)
安装Apache
#cd /usr/src
#wget https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.34.tar.bz2
#wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.bz2
#wget http://mirrors.shu.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
#yum install gcc-c++ apr-util-devel pcre* -y
#tar jxf httpd-2.4.34.tar.bz2
#tar jxf apr-1.6.3.tar.bz2
#tar zxf apr-util-1.6.1.tar.gz
#mv apr-1.6.3/* /usr/src/ httpd-2.4.34/srclib/apr/
#mv apr-util-1.6.1/* /usr/src/httpd-2.4.34/src/lib/apr-util/
#cd httpd-2.4.34
#./configure --prefix=/usr/local/apache --with-mpm=worker --with-apr --with-apr-util --enable-rewrite --enable-so
#make&&make install
安装完成后
#echo “ServerName localhost:80”>>/usr/loacl/apach/conf/httpd.conf
在客户端浏览器输入如下内容
表示apache安装成功
安装mysql5.5
#wget http://down1.chinaunix.net/distfiles/mysql-5.5.20.tar.gz
# tar –zxf mysql-5.5.20
# yum install -y gcc c ncurses-devel cmake libaio bison gcc-c++ git cmake ncurses-devel ncurses -y
#wget http://down1.chinaunix.net/distfiles/mysql-5.5.20.tar.gz
tar –zxf mysql-5.5.20
#yum install -y gcc c ncurses-devel cmake libaio bison gcc-c++ git cmake ncurses-devel ncurses -y
#cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55/
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc
-DMYSQL_USER=mysql
-DMYSQL_TCP_PORT=3306
-DWITH_XTRADB_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DENABLED_LOCAL_INFILE=1
-DWITH_EXTRA_CHARSETS=1
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DEXTRA_CHARSETS=all
-DWITH_BIG_TABLES=1
-DWITH_DEBUG=0
#make &&make install
#cp /usr/local/mysql55/support/my-large.cnf /etc/my.cnf
#cp /usr/loca;/mysql55/support/mysql.server /etc/init.d/mysqld
#chkconfig --add mysqld
#chkconfig --level 35 mysqld on
#mkdir -p /data/mysql
#useradd mysql
#/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql55
#ln -s /usr/local/mysql55/bin/* /usr/bin/
#chown -R mysql /data/mysql/
#service mysqld start
测试
安装php
# wget http://mirrors.sohu.com/php/php-5.6.8.tar.bz2
#tar -jxf php-5.6.8.tar.bz2
#cd php-5.6.8
#yum install libxml2 libxml2-devel -y
#./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-apxs2=/usr/local/apache/bin/apxs
#make -j4&&make -j4 install
整合apache和php
#vim /usr/local/apache/conf/httpd.conf
添加如下配置
AddType application/x-httpd-php .php
DirectoryIndex index.php index.html index.htm
保存并退出
#ehco “<?php phpinfo(); ?>”>>/usr/local/apache/htdocs/index.php
安装php-redis链接驱动
#wget https://github.com/phpredis/phpredis/archive/3.1.2.tar.gz
#tar zxf 3.1.2.tar.gz
#yum install m4 autoconf -y
#cd phpredis
#mkdir -p /usr/local/php/etc(注意一定是将php.ini放在预编译指定的配置文件中)
#cp /usr/src/php-5.6.8/php.ini-development /usr/local/php/etc/php.ini
#/usr/local/php5/bin/phpize
#./configure --with-php-config=/usr/local/php5/bin/php-config --enable-redis
#make&&make install
#vim /usr/local/php/etc/php.ini
加入如下行
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-zts-20131226"
extension=redis.so
重启apache测试
安装redis主库和从库
# wget http://download.redis.io/releases/redis-4.0.9.tar.gz
#tar zxf redis-4.0.9.tar.gz
#cd redis-4.0.9
#make PREFIX=/usr/local/redis MALLOC=libc install
#cp redis.conf /usr/local/redis/
#vim /etc/profile
添加如下行
export PATH=/usr/local/redis/bin:$PATH
source /etc/profile使环境变量生效
#vim /usr/redis/redis.conf
将主库bind 127.0.0.1 改为 bind 0.0.0.0保存退出
#vim /usr/redis/redis.conf
从库在bind下添加一行
启动redisz主库和从库,并加入
nohup /usr/local/redis/bin/redis-server /usr/local/redis/redis.conf &
搭建discuz论坛
在lamp上
#wget http://download.comsenz.com/DiscuzX/3.3/Discuz_X3.3_SC_UTF8.zip
#yum install unzip -y
#unzip unzip Discuz_X3.3_SC_UTF8.zip -d /usr/local/apache/htdocs/
#cd upload
#chmod -R 757 data/ uc_server/ config/ uc_client/
浏览器上输入192.168.176.124/upload
根据提示搭建论坛
在lamp上配置redis的主的地址
#vim config/config_global.php
重启apache
重新登录discuz
切换至redis服务器
#redis-cli
127.0.0.1:6379>KEYS *
看到如上内容
Redis主库宕机测试
Redis主库宕机后
配置从库
正常访问OK