扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
配置httpd-2.4.23以fpm方式的php-5.5.38
创新互联公司主要从事做网站、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务海阳,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108一、apache、MySQL的安装与前一部分相同;请根据其进行安装;
可以参考编译安装LAMP http://ljohn.blog.51cto.com/11932290/1863283
二、编译安装php-5.5.38
1、解决依赖关系:
请配置好yum源(可以是本地系统光盘)后执行如下命令:
# yum -y groupinstall "X Software Development"如果想让编译的php支持mcrypt扩展可以下载如下rpm包。
libmcrypt-2.5.7-5.el5.i386.rpm libmcrypt-devel-2.5.7-5.el5.i386.rpm mhash-0.9.9-1.el5.centos.i386.rpm mhash-devel-0.9.9-1.el5.centos.i386.rpm2、编译安装php-5.5.38
# tar zxf php-5.5.38.tar.gz # cd php-5.5.38 # ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-mcrypt --with-config-file-path=/etc/php5 --with-config-file-scan-dir=/etc/php5.d --with-bz2说明:如果使用PHP5.3以上版本,为了链接MySQL数据库,可以指定mysqlnd,这样在本机就不需要先安装MySQL或MySQL开发包了。mysqlnd从php 5.3开始可用,可以编译时绑定到它(而不用和具体的MySQL客户端库绑定形成依赖),但从PHP 5.4开始它就是默认设置了。
# ./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd# make && make intall为php提供配置文件: # mkdir /etc/php5{,.d} # cp php.ini-production /etc/php5/php.ini编辑php-fpm的配置文件:
# vim /usr/local/php5/etc/php-fpm.conf 配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行): pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 2 pm.max_spare_servers = 8 pid = /usr/local/php5/var/run/php-fpm.pid接下来就可以启动php-fpm了:
# service php-fpm start使用如下命令来验正(如果此命令输出有中几个php-fpm进程就说明启动成功了):
# ps aux | grep php-fpm默认情况下,fpm监听在127.0.0.1的9000端口,也可以使用如下命令验正其是否已经监听在相应的套接字。
# netstat -tnlp | grep php-fpm tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 689/php-fpm三、配置httpd-2.4.23
# vim /etc/httpd24/httpd.conf1、启用httpd的相关模块
在Apache httpd 2.4以后已经专门有一个模块针对FastCGI的实现,此模块为mod_proxy_fcgi.so,它其实是作为mod_proxy.so模块的扩充,因此,这两个模块都要加载
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so2、配置中心主机
添加: ProxyRequests Off ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/$13、编辑apache配置文件httpd.conf,让apache能识别php格式的页面,并支持php格式的主页
# vim /etc/httpd/httpd.conf 1、添加如下二行 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps 2、定位至DirectoryIndex index.html 修改为: DirectoryIndex index.php index.html补充:Apache httpd 2.4以前的版本中,要么把PHP作为Apache的模块运行,要么添加一个第三方模块支持PHP-FPM实现。
四、给PHP安装xcache-3.2.0加速器
1、安装xcache-3.2.0 # tar zxf xcache-3.2.0.tar.gz # cd xcache-3.2.0 # /usr/local/php/bin/phpize # ./configure --enable-xcache --with-php-config=/usr/local/php5/bin/php-config # make && make install安装结束时,会出现类似如下行:
Installing shared extensions: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212/2、编辑php.ini,整合php和xcache:
首先将xcache提供的样例配置导入php.ini # mkdir /etc/php5.d # cp xcache.ini /etc/php5.d说明:xcache.ini文件在xcache的源码目录中。
接下来编辑 vim /etc/php5.d/xcache.ini,找到zend_extension开头的行,修改为如下行: extension = /usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212/xcache.so配置完成后重启php-fpm服务,和httpd24服务
# service php-fpm restart # service httpd24 restart浏览器访问http://192.168.137.30检查php测试页面是否加载出XCache插件的信息。
压力测试
# ab -c 20 -n 500 http://192.168.137.30/pma/index.php相比较之前速度提升5倍左右(测试参考值)
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流