yum安裝php/apache/mysql/memcached

來源:互聯網
上載者:User

一、需求:php:php5.2.6以上,要求支援如下模組:mysql、gd、memcached、mbstring、apc、mcrypt、curl、ftp(其中curl/ftp預設已安裝)apache:要求配置php模組。mysql:Mysql5.1.46以上,需要支援Innodb,支援分區memcached:memcached-1.4.4.tar.gz二、背景(1)新版家校圈伺服器在世紀互聯機房,所以跟我們社區網站的伺服器在不同的外網。登入時使用外網IP。配置源碼時還是使用2.14裡的源,通過2.14的外網地址進行訪問。(2)centos yum的使用方法yum是什麼,yum = Yellow dog Updater, Modified。主要功能是更方便的添加/刪除/更新RPM包,它能自動解決包的倚賴性問題,便於管理大量系統的更新問題。yum特點:可以同時配置多個資產庫(Repository)簡潔的設定檔(/etc/yum.conf自動解決增加或刪除rpm包時遇到的倚賴性問題使用方便保持與RPM資料庫的一致性yum安裝:CentOS內建(yum-*.noarch.rpm)#rpm -ivh yum-*.noarch.rpm在第一次啟用yum之前首先需要匯入系統的RPM-GPG-KEY,這個東東是用於rpm包校正用的,一般在系統光碟片裡可找到。#rpm –import /usr/share/doc/centos-release-3(4)/RPM-GPG-KEY-CentOS-3(4)yum常用的命令:# yum install xxx         安裝xxx軟體# yum info xxx             查看xxx軟體的資訊# yum remove xxx     刪除軟體包# yum list                     列出軟體包# yum clean                 清除緩衝和就的包# yum provides xxx     以xxx為關鍵字搜尋包(提供的資訊為關鍵字)# yum search xxx       搜尋軟體包(以名字為關鍵字)# yum groupupdate xxx# yum grouplist xxx# yum groupremove xxx(這三個都是一組為單位進行升級 列表和刪除的操作。。比如 “Mysql Database”就是一個組會同時操作相關的所有軟體包;)# yum update             系統升級# yum list available     列出所有升級源上的包;# yum list updates     列出所有升級源上的可以更新包;# yum list installed     列出已經安裝的包;# yun update kernel   升級核心;yum自動選擇最快的源:(1)由於yum中有的mirror速度是非常慢的,如果yum選擇了這個mirror,這個時候yum就會非常慢,對此,可以下載fastestmirror外掛程式,它會自動選擇最快的mirror:#yum install yum-fastestmirror設定檔:(一般不用動)/etc/yum/pluginconf.d/fastestmirror.conf你的yum鏡像的速度測試記錄檔案:/var/cache/yum/timedhosts.txt(2)換為中國的源中國官方鏡像網站: http://centos.ustc.edu.cncd /etc/yum.repos.dmv CentOS-Base.repo  CentOS-Base.repo.bakwget http://centos.ustc.edu.cn/CentOS-Base.repo.5mv CentOS-Base.repo.5  CentOS-Base.repoyum -y update系統更新後,如果yum安裝時提示錯誤資訊,請執行以下命令修複.rpm –import  /etc/pki/rpm-gpg/RPM-GPG-KEY*(3)為Centos5添加網易163、搜狐的yum源先關閉fastestmirror“vi /etc/yum/pluginconf.d/fastestmirror.conf” and set “enable=0″cd /etc/yum.repos.d/wget http://mirrors.163.com/.help/CentOS-Base-163.repowget http://mirrors.sohu.com/help/CentOS-Base-sohu.repoyum makecacheyum updatenow enjoy it!三、安裝方法yum clean allyum -y install libevent*yum -y install httpd*yum -y install  mysql mysql-serveryum -y install php php-gd php-memcached php-mbstring php-mcrypt php-mysql php-apctar -zxvf memcached-1.4.4.tar.gzcd memcached-1.4.4./configure && make && make install

1.memcached的安裝1)memcached是基於libevent的事件處理,所以安裝memcached時先要安裝libevent庫。yum -y install libevent libevent-devel2)memcached編譯安裝比較簡單,一般都採用編譯安裝的方式如下:wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gztar -zxvf memcached-1.4.5.tar.gzcd  memcached-1.4.5./configuremake && make install——————————————————————————————————————————2.memcached啟動1)memcached常用參數:(/usr/local/bin/memcached -h)-p <num>      TCP port number to listen on (default: 11211)-U <num>      UDP port number to listen on (default: 11211, 0 is off)-l <ip_addr>  interface to listen on (default: INADDR_ANY, all addresses)-d            run as a daemon-u <username> assume identity of <username> (only when run as root)-m <num>      max memory to use for items in megabytes (default: 64 MB)-c <num>      max simultaneous connections (default: 1024)-P <file>     save PID in <file>, only used with -d option-f <factor>   chunk size growth factor (default: 1.25)2)以daemon的方式啟動memcached/usr/local/bin/memcached -u nobody -p 11211 -m 64 -c 128 -d——————————————————————————————————————————3.memcached結合mysql、perl的實踐cat memcached_mysql.pl#!/usr/bin/perl#Usage: test memcahed with mysql and perl#Made by yunhaozou@gmail.com,2010/12/20#use Cache::Memcached;use DBI;use Data::Dumper;use Digest::MD5 qw(md5_hex);use strict;#my $host = “127.0.0.1″;  #db相關資訊my $port = “3306″;my $db = “zichan_db”;my $user = “root”;my $password = “”;my $dsn = “dbi:mysql:database=$db:hostname=$host:port=$port”;my $dbh = DBI->connect($dsn,$user,$password) or die “Couldn’t connect to database: ” . DBI->errstr;  #串連dbmy $memcached = Cache::Memcached->new({ servers=>["127.0.0.1:11211"],compress_threshold=>10_000});   #串連memcached#$memcached = Cache::Memcached->new({ servers=>["127.0.0.1:11211","192.168.2.1:11211"],compress_threshold=>10_000}); #表示串連兩台機的memcached,這樣可以實現負載平衡,一個機器掛了,另一個可以繼續用my $zcsql = “select sn,model,cab_no,func,intra_ip,man_addr,contact from equipment where sn=’0917QAR012′;”;#my $result = query_result($zcsql);print Dumper $result;$dbh->disconnect();#sub query_result{my $query_sql = shift;my $query_key = md5_hex($query_sql);  #把查詢sql語句轉換為MD5值的keymy $query_result = $memcached->get($query_key);return $query_result if $query_result;  #當在memcaed有緩衝時直接返回$query_result = $dbh->selectrow_hashref($query_sql);$memcached->set(“$query_key”, $query_result); #當在memcached沒有緩衝時從資料查詢,並緩衝memcachedreturn $query_result;}——————————————————————————————————————————4.日常營運1)memcached是典型的是耗記憶體不耗CPU。而通常web進程(如Apache)是CPU敏感,記憶體不那麼敏感的。因此可將memcached直接跑在前台web主機上,作為資料緩衝(或資料庫連接池)使用,也就是在web程式與資料庫之間多加了一層。2)盡量使用memcached分布式部署。但各個模組盡量做到memcached資源隔離(之前因為社區前端公用memcached,有一次廣東綜合通訊上線了一個頁面,因工程師寫代碼時失誤,顯式調用了flush memcache,從而每次訪問都清空整個memcached,把整個網站社區前端memcached資源清空,而且過幾秒又被清空,這樣造成的後果有多嚴重就不說了,寫那代碼的哥們有多慘也不說了~~)3)用telnet測試memcachedtelnet 127.0.0.1 11211Trying 127.0.0.1…Connected to zou.yunhao (127.0.0.1).Escape character is ‘^]’.set key 0 10 6   //10表示到期時間10秒,6表示將要存入資料位元組為6(這裡result為6)resultSTOREDget keyVALUE key 0 6resultEND4)memcached效能查看命令statstelnet 127.0.0.1 11211statsSTAT pid 18006STAT uptime 702   //memcached啟動並執行秒數STAT time 1292904537 //memcached伺服器所在主機當前系統的時間,單位是秒。STAT version 1.4.5STAT pointer_size 64  //伺服器所在主機作業系統的指標大小,一般為32或64STAT rusage_user 0.003999STAT rusage_system 0.013997STAT curr_connections 10   //表示當前的串連數STAT total_connections 11   //表示從memcached服務啟動到目前時間,系統開啟過的串連的總數。STAT connection_structures 11STAT cmd_get 0   //查詢快取的次數,平均每秒緩衝次數cmd_get/uptimeSTAT cmd_set 0   //設定key=>value的次數STAT cmd_flush 0STAT get_hits 0  //快取命中的次數,快取命中率=get_hits/cmd_get*100%STAT get_misses 0  //cmd_get-get_hitsSTAT delete_misses 0STAT delete_hits 0STAT incr_misses 0STAT incr_hits 0STAT decr_misses 0STAT decr_hits 0STAT cas_misses 0STAT cas_hits 0STAT cas_badval 0STAT auth_cmds 0STAT auth_errors 0STAT bytes_read 7  //memcached伺服器從網路讀取的總的位元組數STAT bytes_written 0  //memcached伺服器發送到網路的總的位元組數。STAT limit_maxbytes 67108864  //memcached服務緩衝允許使用的最大位元組數STAT accepting_conns 1STAT listen_disabled_num 0STAT threads 4STAT conn_yields 0STAT bytes 0STAT curr_items 0STAT total_items 0STAT evictions 0STAT reclaimed 0END——————————————————————————————————————————5.監控1)nagios監控a. check_memcached先要安裝check_memcached外掛程式wget http://search.cpan.org/CPAN/authors/id/Z/ZI/ZIGOROU/Nagios-Plugins-Memcached-0.02.tar.gztar xzvf Nagios-Plugins-Memcached-0.02.tar.gzcd Nagios-Plugins-Memcached-0.02perl Makefile.PL   (可能需要其他perl的modules,依照提示通過cpan安裝即可)make && make installcheck_memcached [-H host:port] [-w warnings] [-c critical] [--size-warnng size-warnng] [--size-critical size-critical] [--hit-warning hit-warning] [--hit-criticalhit-critical] [-t timeout]b. /check_tcp -H host -p 11211 -t 5 -E -s ‘stats/r/nquit/r/n’ -e ‘uptime’ -M crit2)cacti監控一台伺服器起多個memcached,多連接埠cacti部署監控。a. 需要一個 Python memcached Client APIwget ftp://ftp.tummy.com/pub/python-memcached/python-memcached-1.45.tar.gztar xzvf python-memcached-1.45.tar.gzcd python-memcached-1.45python setup.py installb. 加模板memcached multiportwget http://tag1consulting.com/blog/cacti-memcache-multi-port-templatescp memcached.py   <cacti install目錄>/scripts/memcachedmultiport.pyc. 增加監控時devices->des && ip->host template選擇memcachedmultiport->Downed Device Detection選擇none->SNMP Version選擇not in use->create graphs->Port to query for memcached statistics填寫memcached連接埠。3)也可以自訂nagios、cacti監控,通過memcached命令stats取相關資料。本文出自孤風顛影|網站營運 網址:http://yunhaozou.org/mysql/233.html.轉載請保留.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.