PHP以FastCGI方式与LAMP整合
1、系统环境:
# cat /etc/issue
CentOS release 6.4 (Final)
Kernel \r on an \m
# uname -r
2.6.32-358.el6.x86_64
# ifconfig | grep Bcast:
inet addr:192.168.0.200Bcast:192.168.0.255Mask:255.255.255.02、httpd 2.4源码安装:
请猛戳:httpd 2.4源码安装
3、mysql 5.5通用二进制包安装:
请猛戳:mysql 5.5通用二进制包安装
4、编译安装php,开启fpm:
# pwd
/root/software/php/php-5.5.20
# ./configure --prefix=/usr/local/php5.5 --enable-mbstring --enable-xml--enable-fpm --enable-sockets --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --with-mcrypt--with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
#--enable-fpm 开启php-fpm
#--enable-maintainer-zts 此选项已删除,因php是已独立方式运行
# make && make install 为php提供配置文件、为php-fpm提供配置文件及为php-fpm提供启用脚本:
# cp php.ini-production /etc/php.ini
# cp /usr/local/php5.5/etc/php-fpm.conf.default /usr/local/php5.5/etc/php-fpm.conf
# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
# chmod +x /etc/rc.d/init.d/php-fpm
# chkconfig --add php-fpm
# chkconfig --list php-fpm
php-fpm 0:off 1:off 2:on3:on4:on5:on6:off 启动php-fpm及验证php-fpm服务:
# service php-fpm start
Starting php-fpmdone
# ps aux | grep php-fpm 5、配置httpd,让其成为fastcgi客户端,并把httpd配置成虚拟主机方式工作:
启用mod_proxy.so及mod_proxy_fcgi.so两个模块:
# vim /etc/httpd24/httpd.conf
……省略
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
……省略 配置httpd.conf文件,让其对php文件的支持:
# vim /etc/httpd24/httpd.conf
……省略
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php #新增
AddType application/x-httpd-php-source .phps #新增
……省略
DirectoryIndex index.php index.html #新增index.php
停用中心主机,并启用虚拟主机的支持:
# vim /etc/httpd24/httpd.conf
#DocumentRoot "/usr/local/apache24/htdocs" #注释此行,关闭中心主机
……
# Virtual hosts
Include /etc/httpd24/extra/httpd-vhosts.conf #启用此行,开启虚拟主机文件 配置虚拟主机配置文件:
# vim /etc/httpd24/extra/httpd-vhosts.conf
#注释最后的容器,在最后新增下面配置:
DocumentRoot "/web/zhaochj.com"
ServerName www.zhaochj.com
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/web/zhaochj.com/$1
Options none
AllowOverride none
Require all granted
准备网页文件目录,建立测试页面:
# mkdir -p /web/zhaochj.com
# vim /web/zhaochj.com/index.php
重新启动httpd:
# /usr/local/apache24/bin/apachectl -k stop
# /usr/local/apache24/bin/apachectl -t
Syntax OK
# /usr/local/apache24/bin/apachectl -k start 访问测试页面:
http://s3.运维网.com/wyfs02/M02/59/12/wKiom1TGPUqx_ZolAAH0Cqnd7bY904.jpg
6、优化php5,启用php5自带的代码缓冲机制opcache,不再使用xcache了:
# vim /etc/php.ini
……省略
zend_extension = /usr/local/php5.5/lib/php/extensions/no-debug-non-zts-20121212/opcache.so
opcache.enable=1
opcache.memory_consumption = 64
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
opcache.enable_cli = 1
……省略 重新启动php-fpm:
# service php-fpm restart 测试opcache是否启用:
# /usr/local/php5.5/bin/php -m http://s3.运维网.com/wyfs02/M02/59/12/wKiom1TGQKOySAxnAAHOzX6Nh4I037.jpg
页:
[1]