1397535668 发表于 2018-12-24 10:22:52

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]
查看完整版本: PHP以FastCGI方式与LAMP整合