1. 程式人生 > >Linux 學習筆記11-lamp+redis主從

Linux 學習筆記11-lamp+redis主從

一行 conf scrip ref libxml2 info libaio 所有 rewrite

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

Linux 學習筆記11-lamp+redis主從