溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux下如何編譯redis和phpredis

發(fā)布時(shí)間:2021-08-31 09:23:13 來(lái)源:億速云 閱讀:118 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要為大家展示了“Linux下如何編譯redis和phpredis”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Linux下如何編譯redis和phpredis”這篇文章吧。

具體如下:

1、準(zhǔn)備工作

操作系統(tǒng):CentOS 5.5
redis 版本:redis-2.6.9

2、編譯安裝

tar zxvf redis-2.6.9.tar.gz //解壓 
cd redis-2.6.9 
make  //編譯

如果出現(xiàn)如下錯(cuò)誤:

zmalloc.o: In function `zmalloc_used_memory':
/data/redis-2.6.9/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4'
collect2: ld returned 1 exit status
make[1]: *** [redis-server] Error 1
make[1]: Leaving directory `/data/redis-2.6.9/src'
make: *** [all] Error 2

解決方法:

make CFLAGS="-march=i686"

當(dāng)看見(jiàn)“Hint: To run 'make test' is a good idea ;)” 說(shuō)明編譯成功。

make install  //安裝

說(shuō)明:其實(shí) make install 就是:

cp -p redis-server /usr/local/bin
cp -p redis-benchmark /usr/local/bin
cp -p redis-cli /usr/local/bin
cp -p redis-check-dump /usr/local/bin
cp -p redis-check-aof /usr/local/bin

這樣,redis 就安裝成功了。

接下來(lái)就是啟動(dòng)Redis了, 上面編譯后生成的那些可執(zhí)行文件拷貝到了/usr/local/bin目錄下面, 他們的作用分別是:

redis-server:Redis服務(wù)器的daemon啟動(dòng)程序
redis-cli:Redis命令行操作工具。當(dāng)然,你也可以用 telnet 根據(jù)其純文本協(xié)議來(lái)操作
redis-benchmark:Redis性能測(cè)試工具,測(cè)試Redis在你的系統(tǒng)及你的配置下的讀寫(xiě)性能

啟動(dòng) Redis 進(jìn)程只需要執(zhí)行這個(gè) /usr/local/bin/redis-server /path-to/redis.conf

啟動(dòng)的時(shí)候后面要跟上 redis 的配置文件, 這樣Redis就順利啟動(dòng)了.

3、啟動(dòng) redis 會(huì)出現(xiàn)的問(wèn)題

Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with 'noeviction' policy now.

解決方法:修改配置文件 redis.conf  將 maxmemory 設(shè)置為 maxmemory 1024000000 #分配256M內(nèi)存

WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

解決方法:警告:過(guò)量使用內(nèi)存設(shè)置為0!在低內(nèi)存環(huán)境下,后臺(tái)保存可能失敗。為了修正這個(gè)問(wèn)題,請(qǐng)?jiān)?etc/sysctl.conf 添加一項(xiàng) 'vm.overcommit_memory = 1' ,然后重啟(或者運(yùn)行命令'sysctl vm.overcommit_memory=1' )使其生效。

當(dāng)啟動(dòng)的時(shí)候沒(méi)有任何信息,表明啟動(dòng)成功。也可以使用 "netstat -tnl" 查看6379端口是否啟動(dòng)。

4、開(kāi)啟和關(guān)閉 redis

redis-server /usr/local/redis-2.6.9/redis.conf 開(kāi)啟,注:需要指定 redis 的配置文件

pkill redis-server 停止 redis
redis-cli shutdown 停止 redis

5、redis.conf 的參數(shù)信息

關(guān)于redis及其參數(shù)信息可參考本站《Redis基本知識(shí)、安裝、部署、配置筆記》

6、編譯 phpredis

unzip phpredis-master.zip
cd phpredis-master
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config
make && make install

修改 php.ini 文件。加載 redis.so 模塊,重啟 Apache !

以上是“Linux下如何編譯redis和phpredis”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI