[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.7 20120313 (Red Hat 4.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: May 24 2016 13:55:46)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
MySQL版本信息
[root@db01 ~]# mysql -V
mysql Ver 14.14 Distrib 5.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 692884 May 30 12: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 Used Avail Use% 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 0 0
[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=16384k 0 0
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 ~]# /application/php/bin/php -v
PHP 5.5.32 (cli) (built: May 24 2016 13:55:46)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
with XCache v3.2.0, Copyright (c) 2005-2014, by mOo
with XCache Cacher v3.2.0, Copyright (c) 2005-2014, by mOo
[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