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
Linux 學習筆記11-lamp+redis主從