Linux 学习笔记11-lamp+redis主从

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

原文地址:https://www.cnblogs.com/juanNote/p/9527237.html