CentOS5.0编译安装apache2.2.8+php5.2.5+mysql5.0.45+google-perftools+ZendOptimizerv3.3.0+eaccelerator —————————————————————————————————————- 优化Linux内核参数 vi/etc/sysctl.conf 在末尾增加以下内容: net.ipv4.tcp_fin_timeout=30 net.ipv4.tcp_keepalive_time=300 net.ipv4.tcp_syncookies=1 net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_tw_recycle=1 net.ipv4.ip_local_port_range=500065000 使配置立即生效: /sbin/sysctl-p —————————————————————————————————————- 定时校正服务器时间 #yuminstallntp #crontab-e 023***root/usr/sbin/ntpdate210.72.145.44>/dev/null2>&1 以上命令设置好后存盘。您的机器将在每天的23:00根据中国国家授时中心的NTP服务器时间自动校准时间。 —————————————————————————————————————- 修改yum源 [base] name=CentOS-5-Base repo=os baseurl=http://mirror.lib.tsinghua.edu.cn/centos/5/os/$basearch/ http://mirror.tini4u.net/centos/5/os/$basearch/ http://ftp.daum.net/centos/5/os/$basearch/ http://mirror.secuidc.com/centos/5/os/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 [update] name=CentOS-5-Updates baseurl=http://mirror.lib.tsinghua.edu.cn/centos/5/updates/$basearch/ http://ftp.daum.net/centos/5/updates/$basearch/ http://mirror.secuidc.com/centos/5/updates/$basearch/ http://mirror.tini4u.net/centos/5/updates/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 [addons] name=CentOS-5-Addons baseurl=http://mirror.lib.tsinghua.edu.cn/centos/5/addons/$basearch/ http://ftp.daum.net/centos/5/addons/$basearch/ http://mirror.secuidc.com/centos/5/addons/$basearch/ http://mirror.tini4u.net/centos/5/addons/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 [extras] name=CentOS-5-Extras baseurl=http://mirror.lib.tsinghua.edu.cn/centos/5/extras/$basearch/ http://ftp.daum.net/centos/5/extras/$basearch/ http://mirror.secuidc.com/centos/5/extras/$basearch/ http://mirror.tini4u.net/centos/5/extras/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 [centosplus] name=CentOS-5-Plus baseurl=http://mirror.lib.tsinghua.edu.cn/centos/5/centosplus/$basearch/ http://ftp.daum.net/centos/5/centosplus/$basearch/ http://mirror.secuidc.com/centos/5/centosplus/$basearch/ http://mirror.tini4u.net/centos/5/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 [contrib] name=CentOS-5-Contrib baseurl=http://mirror.lib.tsinghua.edu.cn/centos/5/contrib/$basearch/ http://ftp.daum.net/centos/5/contrib/$basearch/ http://mirror.secuidc.com/centos/5/contrib/$basearch/ http://mirror.tini4u.net/centos/5/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 然后导入key升级相应yum数据 #rpm–importhttp://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 #yumlist|tee/etc/yum.list//读取yumlist数据,将其输出到/etc/yum.list。 ————————————————————————————————————— 安装支持文件 yuminstall-yzlibzlib-devellibxml2-develcurlcurl-devellibidn-devele2fsprogs-develkeyutils-libs-devellibselinux-devellibsepol-develkrb5-developenssl-devel ————————————————————————————————————— 使用yum程序安装所需开发包(以下为标准的RPM包名称) #yuminstallgccgcc-c++gcc-g77flexbisonautoconfautomakebzip2-develzlib-develncurses-devellibjpeg-devellibpng-devellibtiff-develfreetype-develpam-devel —————————————————————————————————————- GD2 #tarxzvfgd-2.0.33.tar.gz #cdgd-2.0.33 #./configure–prefix=/usr/local/gd2–mandir=/usr/share/man #make #makeinstall —————————————————————————————————————– Apache日志截断程序 #tarxzvfcronolog-1.6.2.tar.gz #cdcronolog-1.6.2 #./configure–prefix=/usr/local/cronolog #make #makeinstall —————————————————————————————————————– libxml库程序 #tarzjvflibxml2-2.6.26.tar.gz #cdlibxml2-2.6.26 #./configure–prefix=/usr/local/libxml2 #make #makeinstall —————————————————————————————————————— 编译mysql5.0.45 cd/usr/local/src #wgethttp://mysql.oss.eznetsols… #tarxzvfmysql-5.0.45.tar.gz #cdmysql-5.0.45 #CHOST=”i686-pc-linux-gnu”CFLAGS=”-O3-msse2-mmmx-mfpmath=sse-mcpu=pentium4-march=pentium4-pipe-fomit-frame-pointer”CXXFLAGS=”-O3-msse2-mmmx-mfpmath=sse-funroll-loops-mcpu=pentium4-march=pentium4-pipe-fomit-frame-pointer”./configure–prefix=/usr/local/mysql–localstatedir=/var/lib/mysql–with-comment=Source–with-server-suffix=-Community–with-mysqld-user=mysql–without-debug–with-big-tables–with-charset=latin1–with-collation=latin1_swedish_ci–with-extra-charsets=all–with-pthread–enable-static–enable-thread-safe-client–with-client-ldflags=-all-static–enable-assembler–without-innodb–without-ndb-debug #make #makeinstall 编译安装完成后执行后续操作: #useraddmysql//添加mysql用户 #cd/usr/local/mysql #bin/mysql_install_db–user=mysql #chown-Rroot:mysql.//设置权限,注意后面有一个”.” #chown-Rmysql/var/lib/mysql//设置mysql目录权限 #chgrp-Rmysql.//注意后面有一个”.” #cpshare/mysql/my-huge.cnf/etc/my.cnf #cpshare/mysql/mysql.server/etc/rc.d/init.d/mysqld//开机自动启动mysql。 #chmod755/etc/rc.d/init.d/mysqld #chkconfig–addmysqld #/etc/rc.d/init.d/mysqldstart//启动MySQL #bin/mysqladmin-urootpassword”password_for_root” #servicemysqldstop//关闭MySQL ——————————————————————————————————————- 安装google-perftools: wgethttp://google-perftools.googlecode.com/files/google-perftools-0.97.tar.gz tarzxvfgoogle-perftools-0.97.tar.gz cdgoogle-perftools-0.97/ ./configure make&&makeinstall echo”/usr/local/lib”>/etc/ld.so.conf.d/usr_local_lib.conf /sbin/ldconfig 修改MySQL启动脚本(根据你的MySQL安装位置而定): vi/usr/local/mysql/bin/mysqld_safe 在#executingmysqld_safe的下一行,加上: exportLD_PRELOAD=/usr/local/lib/libtcmalloc.so 保存后退出,然后重启MySQL服务器。 使用lsof命令查看tcmalloc是否起效: /usr/sbin/lsof-n|greptcmalloc 如果发现以下信息,说明tcmalloc已经起效: mysqld10847mysqlmemREG8,5120375620484960/usr/local/lib/libtcmalloc.so.0.0.0 —————————————————————————————————————– 编译安装Apache #tarzxvfhttpd-2.2.8.tar.gz #cdhttpd-2.2.8 #CHOST=”i686-pc-linux-gnu”CFLAGS=”-O3-msse2-mmmx-mfpmath=sse-funroll-loops-mcpu=pentium4-march=pentium4-pipe-fomit-frame-pointer”./configure–prefix=/usr/local/apache2–enable-module=so–enable-deflate=shared–enable-expires=shared–enable-rewrite=shared–enable-cache–enable-file-cache–enable-mem-cache–enable-disk-cache–enable-static-support–enable-static-htpasswd–enable-static-htdigest–enable-static-rotatelogs–enable-static-logresolve–enable-static-htdbm–enable-static-ab–enable-static-checkgid–disable-cgid–disable-cgi–disable-userdir–with-mpm=worker–enable-authn-dbm=shared–enable-authn-anon=shared–enable-authn-dbd=shared–enable-auth-basic=shared #make #makeinstall #echo’/usr/local/apache2/bin/apachectlstart’>>/etc/rc.local —————————————————————————————————————– 编译php5.2.5 #tarzxvfphp-5.2.5.tar.gz #cdphp-5.2.5 #CHOST=”i686-pc-linux-gnu”CFLAGS=”-O3-msse2-mmmx-mfpmath=sse-mcpu=pentium4-march=pentium4-pipe-fomit-frame-pointer”CXXFLAGS=”-O3-msse2-mmmx-mfpmath=sse-funroll-loops-mcpu=pentium4-march=pentium4-pipe-fomit-frame-pointer”./configure–prefix=/usr/local/php–with-apxs2=/usr/local/apache2/bin/apxs–with-zlib-dir–with-bz2–with-tiff-dir–with-libxml-dir=/usr/local/libxml2–with-gd=/usr/local/gd2–with-freetype-dir–with-jpeg-dir–with-png-dir–with-ttf–enable-mbstring–with-mysql=/usr/local/mysql–with-mysqli=/usr/local/mysql/bin/mysql_config–with-config-file-path=/etc–with-iconv–disable-ipv6–enable-static–with-openssl–with-xmlrpc–with-curl #make&&makeinstall cpphp.ini-dist/etc/php.ini ——————————————————————————————————————- 整合apache与php #vi/usr/local/apache2/conf/httpd.conf 在最后一行加上: AddTypeapplication/x-httpd-php.php 查找:(设置WEB默认文件) DirectoryIndexindex.html 替换为: DirectoryIndexindex.phpindex.htmlindex.htm//在WEB目录不到默认文件,httpd就会执行/var/www/error/noindex.html 找到这一段: #AllowOverridecontrolswhatdirectivesmaybeplacedin.htaccessfiles. #Itcanbe”All”,”None”,oranycombinationofthekeywords: #OptionsFileInfoAuthConfigLimit # AllowOverridenone 更改为AllowOverrideall 允许apacherewrite 保存httpd.conf,退出。 #/usr/local/apache2/bin/apachectlrestart//重启Apache ——————————————————————————————————————- 安装ZendOptimizer #tarxzvfZendOptimizer-3.2.0-linux-glibc21-i386.tar.gz #./ZendOptimizer-3.2.0-linux-glibc21-i386/install.sh 按照它的提示一步步进行就行了。 ——————————————————————————————————————- 安装eaccelerator #tar-jxvfeaccelerator-0.9.5.tar.bz2 #cdeaccelerator-0.9.5 exportPHP_PREFIX=”/usr/local/php” $PHP_PREFIX/bin/phpize #./configure–enable-eaccelerator=shared–with-php-config=$PHP_PREFIX/bin/php-config #make&makeinstall 编译安装后我们会看到屏幕提示的eaccelerator.so所在的目录,比如我得到的是/usr/local/php/lib/php/extensions/no-debug-zts-20060613/eaccelerator.so,记住这个路径,待会要用到。 修改php.ini(安装完zend之后,php.ini存放于/usr/local/Zend/etc) 在文件最后,zend之前,注意,这部分内容务必放在zend之前,不然可能会出现不可预期的服务器问题。添加下列信息: extension_dir=”/usr/local/php/lib/php/extensions/no-debug-zts-20060613/” extension=”eaccelerator.so” eaccelerator.shm_size=”32″ eaccelerator.cache_dir=”/tmp/eaccelerator” eaccelerator.enable=”1″ eaccelerator.optimizer=”1″ eaccelerator.check_mtime=”1″ eaccelerator.debug=”0″ eaccelerator.filter=”” eaccelerator.shm_max=”0″ eaccelerator.shm_ttl=”0″ eaccelerator.shm_prune_period=”0″ eaccelerator.shm_only=”0″ eaccelerator.compress=”1″ eaccelerator.compress_level=”9″ #mkdir/tmp/eaccelerator #chmod0777/tmp/eaccelerator 最后重新启动apachectl |
CentOS5.0 编译安装
CentOS5.0编译安装apache2.2.8+php5.2.5+mysql5.0.45+google-perftools+ZendOptimizerv3.3.0+eaccele…