阿里云主机安装Memcached扩展优化WordPress
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
前言
最近發(fā)現(xiàn)阿里云主機(jī)在使用中,并發(fā)訪問(wèn)量稍大,頁(yè)面加載速度就很慢。于是學(xué)習(xí)了一些服務(wù)器優(yōu)化的文章,決定安裝Memcached,優(yōu)化頁(yè)面查詢,提高Wordpress的響應(yīng)速度。這里記錄下阿里云主機(jī)Centos6.3的Memcached安裝的過(guò)程。
Memcached 是一個(gè)高性能的分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫(kù)負(fù)載。它通過(guò)在內(nèi)存中緩存數(shù)據(jù)和對(duì)象來(lái)減少讀取數(shù)據(jù)庫(kù)的次數(shù),從而提供動(dòng)態(tài)、數(shù)據(jù)庫(kù)驅(qū)動(dòng)網(wǎng)站的速度。Memcached基于一個(gè)存儲(chǔ)鍵/值對(duì)的hashmap。其守護(hù)進(jìn)程(daemon)是用C寫(xiě)的,但是客戶端可以用任何語(yǔ)言來(lái)編寫(xiě),并通過(guò)memcached協(xié)議與守護(hù)進(jìn)程通信。但是它并不提供冗余(例如,復(fù)制其hashmap條目);當(dāng)某個(gè)服務(wù)器停止運(yùn)行或崩潰了,所有存放在該服務(wù)器上的鍵/值對(duì)都將丟失。
Memcached函數(shù)庫(kù)是在PECL(PHP Extension Community Library)中,主要作用是搭建大容量的內(nèi)存數(shù)據(jù)的臨時(shí)存放區(qū)域,在分布式環(huán)境下的作用體現(xiàn)的非常明顯。
本文就詳細(xì)講解如何讓PHP支持Memcached,以提高大訪問(wèn)量網(wǎng)站的訪問(wèn)速度,本文的PHP和Memcached的安裝環(huán)境為Centos6.3操作系統(tǒng)。
安裝Memcached前的準(zhǔn)備工作
(1)首先安裝apache、mysql、php,詳細(xì)參見(jiàn)阿里云服務(wù)器搭建LAMP環(huán)境
[root@Linux ~]#yum install -y httpd-* mysql-server mysql mysql-devel php-*(2)安裝libevent libevent-devel
Memcached需要libevent的支持,詳細(xì)的內(nèi)容可以找下關(guān)于memcached的原理。
(3)安裝php-devel gcc make
Memcached編譯時(shí)需要用到php-devel gcc make,需事先安裝好
安裝memcached
方法一:yum安裝簡(jiǎn)單方便
[root@Linux ~]#yum -y install memcached方法二:下載安裝
到http://memcached.org/下載最新版本的memcached源代碼包
然后就可以就如安裝步驟了
[root@Linux ~]#tar zxvf ?memcached-1.4.13.tar.gz[root@Linux ~]#cd ?memcached-1.4.13[root@Linux ~]#./configure --prefix=/usr/local/memcached[root@Linux ~]#make[root@Linux ~]#make install[root@Linux ~]#ln -s /usr/local/memcached/bin/memcached /usr/local/bin/啟動(dòng)memcached
[root@Linux ~]#memcached ?-d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached參數(shù)說(shuō)明:
-d選項(xiàng)是啟動(dòng)一個(gè)守護(hù)進(jìn)程,
-m是分配給Memcached使用的內(nèi)存數(shù)量,單位是MB,這里是10MB,
-u是運(yùn)行Memcached的用戶,我這里是root,
-l是監(jiān)聽(tīng)的服務(wù)器IP地址,如果有多個(gè)地址的話,由于是本地開(kāi)發(fā)( 非實(shí)際運(yùn)行環(huán)境 )這里指定了服務(wù)器的IP地址127.0.0.1,
-p是設(shè)置Memcached監(jiān)聽(tīng)的端口,這里設(shè)置了11211,最好是1024以上的端口,
-c選項(xiàng)是最大運(yùn)行的并發(fā)連接數(shù),默認(rèn)是1024,這里設(shè)置了256,按照服務(wù)器的負(fù)載量來(lái)設(shè)定,
-P是設(shè)置保存Memcached的pid文件,這里是保存在 /tmp/memcached.pid。
驗(yàn)證安裝
memcached -h
應(yīng)該會(huì)輸出一些幫助信息
將memcached加入啟動(dòng)列表
chkconfig –level 2345 memcached on
配置Memcached
vi /etc/sysconfig/memcached
文件中內(nèi)容如下
PORT=”11211″ 端口
USER=”root” 使用的用戶名
MAXCONN=”1024″ 同時(shí)最大連接數(shù)
CACHESIZE=”64″ 使用的內(nèi)存大小
OPTIONS=”” 附加參數(shù)
查看memcached狀態(tài)
memcached-tool [Memcached Server IP]:[Memcached Server Port] stats
如:memcached-tool 127.0.0.1:11211 stats
檢查Memcached是否啟動(dòng)
netstat -ant
出現(xiàn)類似這樣的結(jié)果 tcp 0 0 88.88.88.88:11211 0.0.0.0:* LISTEN
11211端口已經(jīng)打開(kāi),說(shuō)明Memcached已正常啟動(dòng)。
=====至此,我們將Memcached服務(wù)配置完畢,接著我們配置PHP的擴(kuò)展,以便在程序中來(lái)調(diào)用=====
安裝Memcached的php擴(kuò)展
PHP有兩種Memcached擴(kuò)展,老一點(diǎn)的叫memcache,新一點(diǎn)的叫memcached,這里我安裝的是memcache。
首先到http://pecl.php.net/package/memcache下載memcached的php擴(kuò)展最新穩(wěn)定版本
解壓:
[root@Linux ~]#tar zxvf ?memcache-2.2.5.tgz編譯安裝:
[root@Linux ~]#cd memcache-2.2.5[root@Linux ~]#phpize[root@Linux ~]#./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir[root@Linux ~]#make[root@Linux ~]#make install安裝成功后提示:”Installing shared extensions: ? ? /usr/lib64/php/modules/”。
在php.ini文件中添加memcache擴(kuò)展
[root@Linux ~]#vim /etc/php.ini添加以下內(nèi)容
extension_dir = "/usr/lib64/php/modules/"extension=memcache.so檢驗(yàn)Memcache安裝
[root@Linux ~]#php -m[...]memcache mysql mysqli[...]Memcache環(huán)境測(cè)試
新建一個(gè)test.php文件測(cè)試PHP的Memcache擴(kuò)展效果,如果有輸出This is a test!,就表示環(huán)境搭建成功。
使Wordpress支持memcached
首先在 http://plugins.trac.wordpress.org/browser/memcached/trunk 目錄下載object-cache.php的最新版本,將該文件放在wordpress目錄中的wp-content 文件夾內(nèi)。
一般的說(shuō)法就是這樣子就算啟動(dòng)了 wordpress 的 memcache 插件了,如果沒(méi)有啟動(dòng),需要修改這個(gè)文件的內(nèi)容。
確認(rèn)memcached進(jìn)程使用的端口,默認(rèn)的端口是11211,如果你守候了其他的進(jìn)程(例如:14141),那么需要你在wp-config.php文件中增加如下代碼:
global $memcached_servers; ? $memcached_servers = array(’default’ => array(’127.0.0.1:14141′));//這里的14141替換為你設(shè)置的端口 ?這樣配置以后 應(yīng)該就可以支持memcached了 試試是不是訪問(wèn)速度快了許多,這個(gè)效果對(duì)于訪問(wèn)量大的網(wǎng)站極為明顯。
轉(zhuǎn)載于:https://my.oschina.net/ajian2014/blog/306893
總結(jié)
以上是生活随笔為你收集整理的阿里云主机安装Memcached扩展优化WordPress的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Spring AOP根据JdbcTemp
- 下一篇: 怎么设置环境变量