[root@web02 ~]# cat /etc/redhat-release CentOS release 6.7(Final) [root@web02 ~]# uname -r 2.6.32-573.el6.x86_64 [root@web02 ~]# uname -m x86_64
Nginx版本信息 [root@web02 application]#/application/nginx/sbin/nginx -V nginx version: nginx/1.6.3 built by gcc 4.4.720120313(RedHat4.4.7-16)(GCC) TLS SNI support enabled configure arguments:--prefix=/application/nginx-1.6.3/--user=www --group=www --with-http_ssl_module --with-http_stub_status_module PHP版本信息 [root@web02 application]#/application/php/bin/php -v PHP 5.5.32(cli)(built:May24201613:55:46) Copyright(c)1997-2015The PHP Group ZendEngine v2.5.0,Copyright(c)1998-2015ZendTechnologies MySQL版本信息 [root@db01 ~]# mysql -V mysql Ver14.14Distrib5.5.49,for linux2.6(x86_64)using readline 5.1
[root@web02 ~]# echo 'export LC_ALL=C'>>/etc/profile #设置环境变量,解决后面perl程序插件的编译问题 [root@web02 ~]# tail -1/etc/profile export LC_ALL=C [root@web02 ~]# source /etc/profile [root@web02 ~]# echo $LC_ALL C
yum -y install perl-CPAN或yum -y install perl-devel
wget https://github.com/downloads/eaccelerator/eaccelerator/eaccelerator-0.9.6.1.tar.bz2 tar xf eaccelerator-0.9.6.1.tar.bz2 cd eaccelerator-0.9.6.1 /application/php/bin/phpize ./configure --enable-eaccelerator=shared --with-php-config=/application/php/bin/php-config #<==configure的参数路径要正确配置,特别是后面的--with-php-config参数对应的PHP安装目录地址,几乎全部的PHP扩展都要指定这个参数,请读者注意,后面过程当中再也不说起。 make make install cd ../ ls /application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/ 提示:php5.5不支持
tar xf xcache-3.2.0.tar.bz2 cd xcache-3.2.0 /application/php/bin/phpize ./configure --enable-xcache --with-php-config=/application/php/bin/php-config make make install ls -l /application/php5.5.32/lib/php/extensions/no-debug-non-zts-20121212/xcache.so cd .. [root@web02 xcache-3.2.0]# ls -l /application/php5.5.32/lib/php/extensions/no-debug-non-zts-20121212/xcache.so -rwxr-xr-x 1 root root 692884May3012:20/application/php5.5.32/lib/php/extensions/no-debug-non-zts-20121212/xcache.so
cd /home/oldboy/tools/ wget -q http://pecl.php.net/get/zendopcache-7.0.5.tgz tar xf zendopcache-7.0.5.tgz cd zendopcache-7.0.5 /application/php/bin/phpize ./configure --enable-opcache --with-php-config=/application/php/bin/php-config make make install ls -l /application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/ cd ..
cd /home/oldboy/tools/ wget -q http://pecl.php.net/get/memcache-2.2.7.tgz tar zxf memcache-2.2.7.tgz cd memcache-2.2.7 /application/php/bin/phpize ./configure --enable-memcache --with-php-config=/application/php/bin/php-config make make install cd ../ [root@web02 memcache-2.2.7]# ls /application/php5.5.32/lib/php/extensions/no-debug-non-zts-20121212/ memcache.so opcache.so xcache.so
wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz mv 2.2.4.tar.gz phpredis-2.2.4.tar.gz tar xf phpredis-2.2.4.tar.gz cd phpredis-2.2.4 /application/php/bin/phpize ./configure --enable-redis --with-php-config=/application/php/bin/php-config make make install ll /application/php5.5.32/lib/php/extensions/no-debug-non-zts-20121212/
cd /home/oldboy/tools wget -q http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz tar xf PDO_MYSQL-1.0.2.tgz cd PDO_MYSQL-1.0.2/ /application/php/bin/phpize ./configure --with-php-config=/application/php/bin/php-config --with-pdo-mysql=/application/mysql [root@web02 tools]# cd php-5.5.32/ext/pdo_mysql/ [root@web02 pdo_mysql]# ls CREDITS mysql_statement.o config.m4 package2.xml config.w32 pdo_mysql.c get_error_codes.php pdo_mysql.lo mysql_driver.c pdo_mysql.o mysql_driver.lo php_pdo_mysql.h mysql_driver.o php_pdo_mysql_int.h mysql_statement.c php_pdo_mysql_sqlstate.h mysql_statement.lo tests
cd /home/oldboy/tools/php-5.5.32/ext/pdo_mysql/ /application/php/bin/phpize ./configure --with-php-config=/application/php/bin/php-config --with-pdo-mysql=/application/mysql make make install ll /application/php5.5.32/lib/php/extensions/no-debug-non-zts-20121212/ 企业环境直接编译php直接加--whith-pdo-mysql=
ls -l ImageMagick-6.7.9-9.tar.xz tar xf ImageMagick-6.7.9-9.tar.xz cd ImageMagick-6.7.9-9 ./configure make && make install cd ../
tar zxf imagick-3.1.0.tgz cd imagick-3.1.0 /application/php/bin/phpize ./configure --with-php-config=/application/php/bin/php-config make make install ll /application/php5.5.32/lib/php/extensions/no-debug-non-zts-20121212/ #会在此处显示一个imagick.so
vim /application/php/lib/php.ini 716; extension_dir ="./" 717;On windows: 718; extension_dir ="ext" 能够在最后一行 extension_dir = "/application/php5.5.32/lib/php/extensions/no-debug-non-zts-20121212/" #此处参数就是刚刚咱们查看模块的地址 extension = memcache.so extension = pdo_mysql.so extension = imagick.so 查看生效状况:也可使用phpinfo.php [root@web02 ~]# /application/php/bin/php -m|egrep "memcache|pdo_mysql|imagick" imagick memcache pdo_mysql
ln -s /application/mysql-5.5.32/lib/libmysqlclien.so.18/usr/lib64/libmysqlclient.so.18
[root@web02 ~]# cat /etc/ld.so.conf include ld.so.conf.d/*.conf /usr/lib64 [root@web02 ~]# ldconfig 刷新
[root@web02 ~]# mkdir -p /tmp/eaccelerator #此目录能够用tmfs内存文件系统或者SSD固态硬盘来存储 [root@web02 ~]# chown -R www.www /tmp/eaccelerator #此处用户是nginx的用户
cat >>/application/php/lib/php.ini<<EOF [eaccelerator] extension=eaccelerator.so eaccelerator.shm_size="64" 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="3600" eaccelerator.shm_prune_period="3600" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9" EOF
eAccelerator参数 | 解释说明 |
[eaccelerator] | 开始eAccelerator加速模块配置 |
extension=eaccelerator.so | 加载eAccelerator加速模块,路径至关于extension_dir的配置 |
eaccelerator.shm_size=”64″ | 存储缓存数据的共享内存大小,若是为0,则最大值看内核配置/proc/sys/kermel/shmmax。 |
eaccelerator.cache_dir=”/tmp/eaccelerator” | 磁盘缓存存储路径,缓存内容为precompiled sode、session data、content和user entnes。默认路径为“/tmp/eacclerator” |
eaccelerator.enable=”1″ | eAccelerator缓存生效开关,1为默认,即生效。0为关闭,即不生效 |
eaccelerator.optimizer=”1″ | 加速PHP代码执行速度,1为默认值表示激活,0为不激活。用于缓存前的代码加速。 |
eaccelerator.check_mtime=”1″ | 检查缓存修改时间决定代码是否须要从新编译。1为激活,是默认值 |
eaccelerator.debug=”0″ | 缓存加速调试。0为关闭,1为打开,打开后能够看到缓存命中信息。 |
eaccelerator.filter=”” | 设置对象是否缓存规则,控表示不设定。 |
eaccelerator.shm_max=”0″ | 能够被放置的缓存最大值,0是不限制 |
eaccelerator.shm_ttl=”3600″ | 缓存文件的生存周期(单位秒) |
eaccelerator.shm_prune_period=”3600″ | 当共享空间不够时,从共享内存移除老数据的时间周期。 |
eaccelerator.shm_only=”0″ | 是否容许缓存数据到磁盘,0为容许,可是对于session data and content caching无影响 |
eaccelerator.compress=”1″ | 是否开启压缩,1为开启 |
eaccelerator.compress_level=”9″ | 压缩级别,9为最高 |
[root@web02 ~]#/application/php/bin/php -v
[root@web02 ~]# mkdir /tmp/www.abcdocker.com [root@web02 ~]# mount -t tmpfs -o size=16m tmpfs /tmp/www.abcdocker.com #建立16M大小的tmpfs类型文件系统挂载到/tmp/www.abcdocker.com tmpfs是一种基于内存的文件系统。 [root@web02 ~]# df -h #检查挂载状况 Filesystem Size UsedAvailUse%Mounted on /dev/sda3 6.6G 4.2G 2.1G 67%/ /dev/sda1 190M 36M 145M 20%/boot tmpfs 16M 0 16M 0%/tmp/www.abcdocker.com
永久挂载设置 [root@web02 ~]# tail -1/etc/fstab tmpfs /tmp/www.abcdocker.com tmpfs size=16m 00 [root@web02 ~]# umount /tmp/www.abcdocker.com/ [root@web02 ~]# grep www /proc/mounts [root@web02 ~]# mount -a #刷新fstab [root@web02 ~]# grep www /proc/mounts tmpfs /tmp/www.abcdocker.com tmpfs rw,relatime,size=16384k00
xcache配置文件参数 | 解释说明 |
[xcache-common]
extension = xcache.so
|
加载xcache.so,路径相对于extension_dir的配置。自3.0版本开始再也不使用zend_extension加载xcache的方式 |
[xcache.admin]
xcache.admin.enable_auth = On
|
激活管理员认证 |
xcache.admin.user = “mOo”
xcache.admin.pass = “md5 encrypted password”
|
执行xcache管理员用户名和密码,密码根据md5加密产生,留空表示禁止管理页面 |
[xcache] | 开始xcache缓存参数配置段,下面全部的初始值即为默认值,除非明确说明。 |
xcache.shm_scheme = “mmap” | 设置XCache如何从系统分配共享内存 |
xcache.size = 60M |
0为禁止缓存,非0则启用缓存。须要注意系统所容许的mmap最大值 |
xcache.count = 1 |
指定将cache切分红多少块,官方推荐设置为服务器cpu的数量** grep-c processor /proc/cpuinfo |
xcache.slots = 8K | 只是做为bash个数的参考值,缓冲超过这个个数的内容没有任何问题 |
xcache.ttl = 0 | 设置cache对象的生存期TTL(time to live) 0为永不过时 |
xcache.gc_interval = 0 | 回收期扫描过时的对象回头内存空间的间隔,0为不扫描,其余值的单位是 |
xcache.var_size = 4M xcache.var_count = 1 xcache.var_slots = 8K xcache.var_slots = 0 xcache.var_gc_interval = 300 |
这几个值和上面的几个相似,只不过用于变量缓存,而不是opcode缓存 |
xcache.readonly_protection = Off | 若是启用了该参数,将会略微下降性能,但会提升必定的安全系数,这个选项对于 xcache.mmap_path = /dev/zero 无效 |
xcache.mmap_path = “/dev/zero” | 对于*nix,xcache.mmap_path是一个文件路径而非目录。若是要启用该参数 请使用“/tmp/xcache”这样的路径,而是“/dev/*”若是开启了xcache.readonly_protection参数,不一样进程组的PHP将不会共享同一个/tmp/xcache路径 |
xcache.coredump_directory = “” | 当XCache crash后,是否把数据保存到指定路径 |
xcache.disable_on_crash = Off | 当xcache发生crash时,自动关闭xcache缓存 |
[root@web02 xcache-3.2.0]# cat xcache.ini >>/application/php/lib/php.ini
[root@web02 xcache-3.2.0]# echo -n "123456"|md5sum e10adc3949ba59abbe56e057f20f883e -
[xcache.admin] xcache.admin.enable_auth =On xcache.admin.user ="abcdocker" #此处是用户名 xcache.admin.pass="e10adc3949ba59abbe56e057f20f883e" #此处是md5加密的密码路径 提示:要求密码必需要使用md5加密
[root@web02 xcache-3.2.0]# cp -a htdocs//application/nginx/html/blog/xadmin [root@web02 xcache-3.2.0]# chown -R www.www /application/nginx/html/blog/xadmin [root@web02 xcache-3.2.0]# pkill php-fpm [root@web02 xcache-3.2.0]#/application/php/sbin/php-fpm
[Date] ;Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone =Asia/Chongqing 去掉注释,修改地址
[opcache] zend_extension=/application/php5.3.27/lib/php/extensions/no-debug-non-zts-20090626/opcache.so ;extension=opcache.so opcache.memory_consumption=32 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=1000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_cli=1
opcache参数 | 解释说明 |
opcache.memory_consumption=32 | Opcache共享内存空间大小,用于存放precompiled PHP code,默认为64,单位为Mbytes |
opcache.interned_strings_buffer=8 | 默认值为4,interned strings内存的数量,单位是M |
opcache.max_accelerated_files=1000 | 默认值是2000,Opcache哈希表的key的最大数量 |
opcache.revalidate_freq=60 | 默认值2,检查文件时间戳的频率,用于共享内存分配的变化。 |
opcache.fast_shutdown=1 | 默认值为0,若是激活,一个快速的关闭队列奖杯用来加速代码 |
opcache.enable_cli=1 | 默认值为0,激活PHP CLI的OPcache,用于测试和调试 |
[root@web02 zendopcache-7.0.5]# cd zendopcache-7.0.5 [root@web02 zendopcache-7.0.5]# less README
./configure \ --prefix=/application/php5.5.32 \ --with-mysql=/application/mysql/ \ --with-pdo-mysql=mysqlnd \ --with-iconv-dir=/usr/local/libiconv \ .....省略其余参数
pdo_mysql.default_socker=/application/php5.5.32/tmp/mysql.sock