十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
构建LAMP平台,可以把PHP编译为apache的一个模块或者直接把PHP编译为一个单独的服务,然后独立运行,当apache需要和PHP通信时,apache就变为了一个客户端,向PHP发起请求,然后由PHP把apache发去的代码解释后发回apache,最后由apache返回给客户端。
创新互联云计算的互联网服务提供商,拥有超过13年的服务器租用、雅安服务器托管、云服务器、虚拟主机、网站系统开发经验,已先后获得国家工业和信息化部颁发的互联网数据中心业务许可证。专业提供云主机、虚拟主机、国际域名空间、VPS主机、云服务器、香港云服务器、免备案服务器等。要编译实现fpm模式的LAMP平台,可以使用两台或者三台虚拟机,分别在虚拟机上编译出apache和PHP和MariaDB,在此我使用两台虚拟机。一台独立运行MariaDB,另一台运行apache和PHP。规划如下
主机 | IP | 运行服务 |
A | 192.168.252.10 | MariaDB |
B | 192.168.252.11 | Apache+PHP |
对于apache和MariaDB的编译安装可参考http://7703592.blog.51cto.com/7693592/1649948在此不再赘述。直接介绍PHP安装。
下载php-5.5.40解压并切换到解压文件目录执行以下命令
[root@localhost php-5.4.40]# ./configure --prefix=/usr/local/php --enable-fpm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr/ --enable-xml --enable-sockets --with-mcrypt --with-bz2 --with-config-file-path=/etc/php/php.ini --with-config-file-scan-dir=/etc/php.d/[root@localhost php-5.4.40]# make && make install为php提供运行脚本
[root@localhost php-5.4.40]# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm [root@localhost php-5.4.40]# chmod +x /etc/rc.d/init.d/php-fpm#:给脚本执行权限 [root@localhost php-5.4.40]# chkconfig --add php-fpm#添加到chkconfig列表, [root@localhost php-5.4.40]# chkconfig php-fpm on#设置开机自启动为服务提供配置文件
[root@localhost php-5.4.40]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf编辑配置文件,设置以下参数
Pm.max_children = 50#:设置最多子进程数量为50
Pm_start_servers = 5#:设置预先启动的进程数为5个
Pm.min_spare_servers = 2#:设置最少空闲子进程数为2
Pm.max_spare_servers = 8#:设置最多空闲子进程数为8
Pid = /usr/local/php/var/run/php-fpm.pid#:设置进程文件位置
现在就可以启动服务测试了
[root@localhost php-5.4.40]# service php-fpm start由上图可知php-fpm进程默认监听在本机的9000端口,
配置apache配置文件
如上图所示,启动以下两个模块:
proxy_fcgi_module modules/mod_proxy_fcgi.so
proxy_module modules/mod_proxy.so
配置apache中心主机支持反向代理
在apache配置文件中加入以下两项
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/$1
编辑apache中心主机的页面文件/usr/local/apache/htdocs/index.php文件,供测试使用,添加如下内容
重启apache服务和php-fpm测试
[root@localhost php-5.4.40]# service php-fpm restart [root@localhost php-5.4.40]# service httpd restart [root@localhost php-5.4.40]# service iptables stop#:关闭防火墙,才可以使用物理机进行测试,出现以下页面,成功
关闭php-fpm服务后再次测试,结果如下
到此php以fpm模式工作实验测试完成,在此使用的是两天主机,如果想把php编译为一台独立的主机,以fpm模式工作,可以按照以上步骤配置即可,只需要修改其配置文件php.ini中的监听地址为apache主机所在的地址就行
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。