操作系统CentOS 5.4
系统安装完成后,安装必要的包
yum install autoconf gcc gcc-c++ libjpeg libjpeg-level libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
Autoconf是一个用于生成可以自动地配置软件源代码包以适应多种Unix类系统的shell脚本的工
gcc gcc-c++是c/c++编译器
libjpeg libjpeg-level libpng libpng-devel图片支持库
FreeType是一个用C语言实现的字型栅格化引擎制作的的一个函式库
libxml2 xml操作支持库
zlib bzip2 是压缩支持库
Glibc glib2 是提供系统调用和基本函数库
Ncurses 字符终端处理库
cURL是一个利用URL语法在命令行下工作的文件传输工具
e2fsprogs 是 ext2, ext3 和 ext4 的 文件系统维护工具
krb5 网络认证服务
libidn
openssl ssl安全支持
ldap 目录服务
[root@localhost ~]# mkdir pockets
[root@localhost ~]# mkdir sources
[root@localhost ~]# cd pockets
[root@localhost pockets]# wget http://sysoev.ru/nginx/nginx-0.8.34.tar.gz
[root@localhost pockets]# wget http://cn2.php.net/get/php-5.3.2.tar.gz/from/cn.php.net/mirror
[root@localhost pockets]# wget http://pecl.php.net/get/memcache-2.2.5.tgz
[root@localhost pockets]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.10.tar.gz
[root@localhost pockets]# wget http://bart.eaccelerator.net/source/0.9.6/eaccelerator-0.9.6.tar.bz2
[root@localhost pockets]# wget http://pecl.php.net/get/PDO-1.0.3.tgz
[root@localhost pockets]# wget ftp://ftp.chg.ru/packages/ImageMagick/ImageMagick-6.6.0-7.tar.gz
[root@localhost pockets]# wget http://pecl.php.net/get/imagick-2.3.0.tgz
[root@localhost pockets]# wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz
[root@localhost pockets]# wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
[root@localhost pockets]# cd ~/ sources
[root@localhost sources ]# tar zxvf ~/pockets/mysql-5.5.0-m2.tar.gz
[root@localhost pockets]# cd mysql-5.5.0-m2
[root@localhost mysql-5.5.0-m2]# ./configure --prefix=/usr/local/mysql/ --datadir=/webdata/mysql/var --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=partition,csv,myisam,myisammrg,innobase,archive --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --without-debug
不需要server时,使用--without-server
[root@localhost mysql-5.5.0-m2]# make && make install
[root@localhost mysql-5.5.0-m2]# cp ./support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql-5.5.0-m2]# chmod +x /etc/init.d/mysql
my-small.cnf 最小配置安装,内存<=64M,数据数量最少
my-large.cnf 内存=512M
my-medium.cnf 32M<内存<64M,或者内存有128M,但是数据库与web服务器公用内存
my-huge.cnf 1G<内存<2G,服务器主要运行mysql
my-innodb-heavy-4G.cnf 最大配置安装,内存至少4G
[root@localhost mysql-5.5.0-m2]# cp ./support-files/my-huge.cnf /etc/my.cnf
[root@localhost mysql-5.5.0-m2]# mkdir /data/mysql/var -p
[root@localhost mysql-5.5.0-m2]# mkdir /data/mysql/log -p
[root@localhost mysql-5.5.0-m2]# groupadd mysql
[root@localhost mysql-5.5.0-m2]# useradd -g mysql mysql
[root@localhost mysql-5.5.0-m2]# chown mysql:mysql -R / data/mysql
[root@localhost mysql-5.5.0-m2]# chown mysql:mysql -R /usr/local/mysql
[root@localhost mysql-5.5.0-m2]# vim /etc/my.cnf
#在[client]块中添加
character-set-server = utf8
#在[mysqld]块中添加
character-set-server = utf8
skip-name-resolve #取消DNS反向解析,在为非本机提供数据库服务时使用
basedir = /usr/local/mysql
datadir = /data/mysql/var
log-error = /data/mysql/log/mysql_error.log
pid-file = /data/mysql/mysql.pid
将thread_concurrency = 8注释掉
[root@localhost mysql-5.5.0-m2]# /usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/var --user=mysql
[root@localhost mysql-5.5.0-m2]# service mysql start
[root@localhost mysql-5.5.0-m2]# chkconfig mysql on
tar zxvf libevent -1.4.13-stable.tar.gz
cd libevent -1.4.13-stable.tar.gz
./configure
make && make install
vim /etc/ld.so.conf.d/libevent.conf
/usr/local/lib
/sbin/ldconfig -v
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap
make ZEND_EXTRA_LIBS='-liconv'
make install
cp php.ini-production /usr/local/php/etc/php.ini
同目录下的php.ini-development文件适用于开发环境
cp -f sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm