centos6.0 安裝apache +php +mysql + redis

yum install gcc.x86_64

yum -y install mysql-server

chkconfig --level 345 mysqld on

yum install httpd

chkconfig --level 235 httpd on

 /etc/init.d/httpd start

/*

yum install php -y

yum search php

yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

*/


redis安裝手冊,中文配置手冊,php-redis模塊安裝方法,Web管理phpRedisAdmin

redis官方網站及最新版本下載地址:http://redis.io/download
 本文章基於Centos+yum安裝的服務器環境
 
redis的下載及安裝:


wget http://redis.googlecode.com/files/redis-2.4.2.tar.gz

tar xzf redis-2.4.2.tar.gz

cd redis-2.4.2
make
src/redis-server



redis測試命令:

src/redis-cli
redis> set foo bar
OK
redis> get foo
“bar”;

接下來需要進行redis配置:
daemonize yes
pidfile /usr/local/redis/var/redis.pid
port 6379
timeout 300
loglevel verbose
logfile /usr/local/redis/var/redis.log
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rd
bdir /usr/local/redis/var
slave-serve-stale-data yes
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
vm-enabled no
vm-swap-file /tmp/redis.swap
vm-max-memory 0
vm-page-size 32
vm-pages 134217728
vm-max-threads 4
hash-max-zipmap-entries 512
hash-max-zipmap-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
activerehashing yes

Redis中文配置文檔:
 1,是否以後臺進程運行,默認爲no,生產環境中肯定要設置成yes,並設置爲自動啓動
 daemonize no
 2,如以後臺進程運行,則需指定一個pid,默認爲/var/run/redis.pid
 pidfile /var/run/redis.pid
 3,監聽端口,默認爲6379
 port 6379
 4,綁定主機IP,默認值爲127.0.0.1(註釋),生產環境中一般是內外網的IP
 bind 127.0.0.1
 5,超時時間,默認爲300(秒)
 timeout 300
 6,日誌記錄等級,有4個可選值,debug,verbose(默認值),notice,warning
 loglevel verbose
 7,日誌記錄方式,默認值爲stdout
 logfile stdout
 8,可用數據庫數,默認值爲16,默認數據庫爲0
 databases 16
 9,指出在多長時間內,有多少次更新操作,就將數據同步到數據文件。這個可以多個條件配合,比如默認配置文件中的設置,就設置了三個條件。
 900秒(15分鐘)內至少有1個key被改變
 save 900 1
 300秒(5分鐘)內至少有10個key被改變
 save 300 10
 10,存儲至本地數據庫時是否壓縮數據,默認爲yes
 rdbcompression yes
 11,本地數據庫文件名,默認值爲dump.rdb
 dbfilename /root/redis_db/dump.rdb
 12,本地數據庫存放路徑,默認值爲 ./
 dir /root/redis_db/
 13,當本機爲從服務時,設置主服務的IP及端口(註釋)
 slaveof 
14,當本機爲從服務時,設置主服務的連接密碼(註釋)
 masterauth 
15,連接密碼(註釋)
 requirepass foobared
 16,最大客戶端連接數,默認不限制(註釋)
 maxclients 128
 17,設置最大內存,達到最大內存設置後,Redis會先嚐試清除已到期或即將到期的Key,當此方法處理後,任到達最大內存設置,將無法再進行寫入操作。(註釋)
 maxmemory 
18,是否在每次更新操作後進行日誌記錄,如果不開啓,可能會在斷電時導致一段時間內的數據丟失。因爲redis本身同步數據文件是按上面save條件來同步的,所以有的數據會在一段時間內只存在於內存中。默認值爲no
 appendonly yes
 19,更新日誌文件名,默認值爲appendonly.aof(註釋)
 appendfilename /root/redis_db/appendonly.aof
 20,更新日誌條件,共有3個可選值。no表示等操作系統進行數據緩存同步到磁盤,always表示每次更新操作後手動調用fsync()將數據寫到磁盤,everysec表示每秒同步一次(默認值)。
 appendfsync everysec
 21,是否使用虛擬內存,默認值爲no
 vm-enabled yes
 22,虛擬內存文件路徑,默認值爲/tmp/redis.swap,不可多個Redis實例共享
 vm-swap-file /tmp/redis.swap
 23,將所有大於vm-max-memory的數據存入虛擬內存,無論vm-max-memory設置多小,所有索引數據都是內存存儲的 (Redis的索引數據就是keys),也就是說,當vm-max-memory設置爲0的時候,其實是所有value都存在於磁盤。默認值爲0。
 vm-max-memory 0
 24,虛擬內存文件以塊存儲,每塊32bytes
 vm-page-size 32
 25,虛擬內在文件的最大數
 vm-pages 134217728
 26,可以設置訪問swap文件的線程數,設置最好不要超過機器的核數,如果設置爲0,那麼所有對swap文件的操作都是串行的.可能會造成比較長時間的延遲,但是對數據完整性有很好的保證.
 vm-max-threads 4
 27,把小的輸出緩存放在一起,以便能夠在一個TCP packet中爲客戶端發送多個響應,具體原理和真實效果我不是很清楚。所以根據註釋,你不是很確定的時候就設置成yes
 glueoutputbuf yes
 28,在redis 2.0中引入了hash數據結構。當hash中包含超過指定元素個數並且最大的元素沒有超過臨界時,hash將以一種特殊的編碼方式(大大減少內存使用)來存儲,這裏可以設置這兩個臨界值
 hash-max-zipmap-entries 64
 29,hash中一個元素的最大值
 hash-max-zipmap-value 512
 30,開啓之後,redis將在每100毫秒時使用1毫秒的CPU時間來對redis的hash表進行重新hash,可以降低內存的使用。當你的使 用場景中,有非常嚴格的實時性需要,不能夠接受Redis時不時的對請求有2毫秒的延遲的話,把這項配置爲no。如果沒有這麼嚴格的實時性要求,可以設置 爲yes,以便能夠儘可能快的釋放內存
 activerehashing yes
 
啓動Redis-Server:
 可以直接運行Redis-Server,也可以配置成後臺服務啓動,我做了一個啓動腳本方便管理
 
vim /etc/init.d/redis.sh
#!/bin/bash
/usr/local/redis/src/redis-server /usr/local/redis/redis.conf
chmom 777 /etc/init.d/redis.sh

php-Redis模塊安裝:
 發佈主頁:,以前在:,github上使用wget需要使用--no-check-certificate。
 生產環境中增加php擴展需要使用phpize,一些基礎文檔在這裏:http://blog.51yip.com/php/177.html
 如果你的機器上沒有phpize,則需要先安裝php-devel這個包。
# yum install php-devel

下載安裝phpredis過程:
cd /usr/include/php/ext
wget --no-check-certificate http://github.com/owlient/phpredis/tarball/master -O phpredis.tar.gz
tar zxvf phpredis.tar.gz
cd owlient-phpredis-90ecd17
phpize
./configure
make
make install

成功後,模塊會被安裝到系統上:

Installing shared extensions:     /usr/lib/php/modules/
ls /usr/lib/php/modules/
dbase.so  eaccelerator.so  gd.so  json.so  memcache.so  mysqli.so  mysql.so  pdo_mysql.so  pdo.so  pdo_sqlite.so  phpcups.so  redis.so  zip.so

然後在php.ini中添加模塊並啓用,redis.so:
extension=/usr/lib/php/modules/redis.so

最後重啓webServer即可。
 
Redis的界面管理工具,有過傳統LAMP經驗的同學肯定都對phpmyadmin非常熟悉,phpmyadmin是一個PHP的MySQL WEB管理工具,非常實用也非常好用。而phpRedisAdmin從名字上就可得知,它是一個PHP版的Redis WEB可視化管理軟件。
 

 
下載以後,放到Web目錄就可以運行。不過我發現這個項目調用的Jqery使用了Google CDN,速度是非常慢吶。我給換成微軟的jQuery CDN,唉。
 
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.min.js
 
本文的重點在於需要使用phpize進行模塊的安裝。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章