设为首页 收藏本站
查看: 1047|回复: 0

[经验分享] Web Service之LAMP

[复制链接]

尚未签到

发表于 2018-12-22 10:07:35 | 显示全部楼层 |阅读模式
  本人对于fastcgi/cgi的理解:

  什么是CGI
  CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。
  CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等.
  

  什么是FastCGI
  FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。
  FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等。
  

  FastCGI的工作原理
1、Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module)
2、FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待来自Web Server的连接。
3、当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。
4、FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server中)的下一个连接。 在CGI模式中,php-cgi在此便退出了。

在上述情况中,你可以想象CGI通常有多慢。每一个Web请求PHP都必须重新解析php.ini、重新载入全部扩展并重初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次。一个额外的好处是,持续数据库连接(Persistent database connection)可以工作。

  

  

  注意: 第一部分的第二部分的基础,所以有什么不懂得请点击:
  Web Service之LAMP- 1 基于模块化编译安装以及  Xcache实现PHP的加速:
  http://xiaomazi.blog.运维网.com/5891742/1383122

  

  第二部分: 配置apache-2.4.9与fpm方式的php-5.4.26
  

  一、Apache、MySQL的安装与前一部分相同;请根据其前面进行安装;
这里省略了...
  请点击: http://xiaomazi.blog.运维网.com/5891742/1383122
  二、编译安装php-5.4.26:

  1.解决依赖关系:
  1).我接上面的环境做的,所以要先删除:
[root@station76 ~]# rm -rf php-5.4.26
  2).解压、编译、安装:
[root@www ~]# tar xf php-5.4.26.tar.bz2
[root@www php-5.4.26]# cd php-5.4.26
[root@www php-5.4.26]# ./configure --prefix=/usr/local/php --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 --with-config-file-scan-dir=/etc/php.d --with-bz2
[root@www php-5.4.26]# make && make install
注意:这里面将路径改为了php5了,因为之前安装过.在上产环境下直接删除/卸载就可以.  2.提供配置文件:
[root@www php-5.4.26]# mkdir /etc/php5
[root@www php-5.4.26]# cp php.ini-production /etc/php5/php.ini
  3.配置php-fpm:
  1).为php-fpm提供SysV init脚本,并将其添加至服务列表:
  
  2).为php-fpm提供配置文件:

  

  

  

  三、配置httpd-2.4.9及Xcache为php加速;
  

  1.提供配置文件:httpd.conf

  
  2.编辑配置文件httpd.conf:

  3.配置httpd-vhosts.conf文件,使得虚拟主机生效:

  1).配置虚拟主机:
  
  2).创建所需目录、测试语法、启动服务、端口:
  
  3).添加本地hosts文件(注意在生产环境下不用添加):
  
  4)本地测试访问(访问是不会成功的因为没有权限的):
  
  5).修改文件并添加相应权限:
  
  6).启动并访问:
  
  4.测试修改改后的index.php:

  1).修改网页文件:
  
  2).访问:http:// www.xiaoma1.com(www.xiaoma2.com)
  5.配置转发功能:

  
  1).重启服务:
  
  2).查看端口、模块:

  3).测试访问:http:// www.xiaoma1.com(www.xiaoma2.com)这里就是php解析的了.
  6.安装phpMyAdmin:
  1).删除index.php文件:
  
  2).解压phpMyAdmin且复制文件至htdocs中(xiaoma2也是同样的操作):
  
  3).测试访问: http://www.xiaoma1.com/pma/

  4).压力测试-->ab(压力测试进行中试网页还是能快速打开的):


  7.安装xcache位php加速:
  1).删除之前的文件、解压、phpize(用本地的解释器探测模块所依赖的版本号、扩展API等,生成序列号标记,而后才能编译)、编译、安装:
  
  2).创建所需目录、cpoy配置文件、并且修改配置文件、启动服务:
  
  3).创建index.php文件且:

  4).测试访问:http://www.xiaoma1.com/ -->http://www.xiaoma1.com/pma/

  5).ab测试前:

  6).压力测试:

  7).压力测试后打开的速度很快:

  

  

  

  

A smile is the most beautiful language!!!


以本人的理解而写出博客,如若有错误,欢迎指出.

                                                                     ---->小马子
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-654303-1-1.html 上篇帖子: 图文详解php的安装以及Discuz论坛的架设[LAMP 下篇帖子: PHP中删除变量时unset()和null的区别
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表