phpfpm 和apache - CSDN
精华内容
参与话题
  • apache 启动 systemctl start httpd 停止 systemctl stop httpd 重启 systemctl restart httpd mysql 启动 systemctl start mysqld 停止 systemctl stop mysqld 重启 systemctl restart mysqld ...

    apache
    启动
    systemctl start httpd
    停止
    systemctl stop httpd
    重启
    systemctl restart httpd


    mysql
    启动
    systemctl start mysqld
    停止
    systemctl stop mysqld
    重启
    systemctl restart mysqld


    php-fpm
    启动
    systemctl start php-fpm
    停止
    systemctl stop php-fpm
    重启
    systemctl restart php-fpm


    nginx
    启动
    systemctl start nginx
    停止
    systemctl stop nginx
    重启
    systemctl restart nginx
    展开全文
  • apachephp-fpm 几种处理方式

    千次阅读 2018-09-26 09:58:43
    原文地址: apachephp-fpm 几种处理方式 目录 1.SetHandler 2.ProxyPassMatch 3.ProxyPass 1.SetHandler 在apache配置文件只部署一次 需要Apache 2.4.9以上才行 ip:port配置 php-fpm配置 ...

     

    原文地址: apache 与 php-fpm 几种处理方式

    目录

    1.SetHandler

    1. 在apache配置文件只部署一次
    2. 需要Apache 2.4.9以上才行

    ip:port配置

    php-fpm配置

    listen = 127.0.0.1:9000
    

    httpd配置

    <FilesMatch \.php$>
    setHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
    

    UDS配置

    php-fpm配置

    listen = /var/run/php-fpm/php-fpm.sock
    

    httpd配置

    <FilesMatch \.php$>
        SetHandler:unix:///var/run/php-fpm/php-fpm.sock|fcgi://php-fpm
        SetHandler "proxy:unix:/var/run/php-fpm/php-fpm.sock|fcgi://localhost" # Apache 2.4.10设置
    </FilesMatch>
    

    2.ProxyPassMatch

    需要在每个 “VirtualHost” 里面加入

    ip:port配置

    <VirtualHost *:80>
    ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/your/documentroot/$1
    DirectoryIndex /index.php
    </VirtualHost>
    
    • ProxyPassMatch
      只有满足特定正则模式的内容才会匹配并执行此规则,这里的模式是,
      ^/(..php(/.)?)$
      从网站(虚拟主机 的根目录开始,匹配任何以 .php 结尾,或者在 .php 之后紧跟一个 / 再跟别的内容的路径。
    • ^ (caret) 和 $ (dollar)
      标志要匹配的路径的开始和结束
    • ( )
      括号里的内容可以用 $1 来表示,以方便后面引用它。
    • fcgi://127.0.0.1:9000
      通过 mod_proxy_fcgi 来转发的代理,使用 fastCGI 协议,转到 PHP-FPM 监听的端口。
      改变 IP 地址和/或端口号就可以要转到的不同的 pool。用这个可以实现服务器分流、均衡等。
    • /path/to/your/documentroot/
      非常重要!必须与虚拟主机的路径匹配,且必须是对应 php 文件在操作系统中的绝对路径。否则会找不到文件(PHP Script File)。这也是 URL 地址重写的目的所在:将 URL 地址转换成 fcgi://127.0.0.1:9000 后面紧跟着的 php 文件绝对路径。
    • 可以从原始请求扩展成整个请求路径的变量,这里指代前面外围 ( ) 里面匹配的那个路径(uri)

    我本机docker容器 httpd 和 php-fpm配置
    我的php-fpm在138.38.38.110 上,配置将有所不同

    
    <VirtualHost *:80>
        ServerAdmin shenyi@com.cn
        DocumentRoot "/usr/local/apache2/htdocs"
        ServerName localhost
        <Directory "/usr/local/apache2/htdocs">
         Options None
         Require all granted
        </Directory>
        ProxyRequests Off
        ProxyPassMatch ^/(.*\.php)$ fcgi://138.38.38.110:9000/var/www/htm/$1
    </VirtualHost>
    

    关于docker-compose 安装配置,看我docker compose 安装配置nginx 反向代理 httpd php-fpm

    3.ProxyPass

    跟ProxyPassMatch 类似 ,需要在每个 VirtualHost 中分别设置

    <LocationMatch ^(.*\.php)$>
    ProxyPass fcgi://127.0.0.1:9000/path/to/webroot/
    ProxyErrorOverride on
    </LocationMatch>
    

     

    展开全文
  • GINX+PHP(FASTCGI)好,还是NGINX+APACHE+PHP好?  第一种是利用CGI让NGINX和PHP进行通信 第二种是静态NGINX 动态让APACHE里的MOD_PHP模块来实

    http://www.oschina.net/question/1047141_151910?sort=default&p=2#tags_nav


    GINX+PHP(FASTCGI)好,还是NGINX+APACHE+PHP好?




     第一种是利用CGI让NGINX和PHP进行通信

    第二种是静态NGINX  动态让APACHE里的MOD_PHP模块来实现PHP


    二种都是NGINX在前端80端口,作为一个反向代理服务器。

    这2种哪种效率高呢?

    引用来自“南湖船老大”的评论

    如果单台服务器的话,NGINX+APACHE+PHP 纯粹多此一举,多了一次请求转发,效率肯定低,而且现在FPM已经足够稳定。完全没必要。

    只有多台服务器集群的话,apache+nginx反代才有意义.NGINX+APACHE+PHP 这种架构存在的原因除了apache出现比较早外,还因为当时FPM不如module模式稳定。


    不见得。Nginx在前面实现动静分离,静态内容由Nginx负责,动态请求则交给后面的PHP应用服务器Apache(libphp5.so)处理。Apache专心处理PHP,这不挺好吗?

    Nginx+PHP-FPM相对Nginx+Apache(libphp5.so)来说,PHP-FPM更灵活,在php-fpm.conf里可以配置监听不同端口的多个pool,每个pool又可以自由配置PHP-FPM工人进程数pm.max_children,一个pool里的工人进程繁忙不会影响到另一个pool。在Nginx里可以配置应用的不同部分使用不同的pool,而且一台服务器上可以运行多个版本的PHP-FPM,借助Nginx的upstream功能,PHP-FPM非常容易横向扩展。

    新浪微博百度贴吧都在使用Nginx+PHP-FPM的架构,PHP-FPM已经足够稳定。


    ab同样并发数压力测试ZF下RPS(请求每秒)对比:

    --- 共有 6 条评论 ---
    • eechen回复 @ZhangKevin2 : PHP-FPM从5.3开始就集成到PHP核心,如果不稳定,你觉得新浪微博和百度贴吧会用吗?倒是PHP官方不推荐在生产环境中使用threaded MPM(worker/event)模式运行Apache2,仍建议使用老式prefork MPM.(2年前)  
    • ZhangKevin2回复 @eechen : 但是貌似没有APACHE+PHP组合稳定吧(2年前)  
    • eechen回复 @ZhangKevin2 : 你的意思是说Nginx+PHP-FPM存在FastCGI进程间通信,所以Apache2.4+MOD_PHP的性能要比前者好。但Nginx比Apache轻量高效是有目共睹的,处理静态文件和负载均衡都很强。另外PHP-FPM的可以通过php-fpm.conf和php.ini进行配置,拥有更高的可配置性。(2年前)  
    • ZhangKevin2回复 @eechen : apache不是出道2.4了么,听说提升了速度,另外 NGINX和PHP通信用到了CGI技术,而APACHE和PHP貌似用的是APACHE里一个MOD_PHP模块 好像原理有本质的区别(2年前)  
    • eechen回复 @yak : 差距虽然不大。但Nginx+FPM优于Apache+MOD_PHP是事实。(2年前)  


    不要人云亦云,有同学做benchmark test,参考详情http://www.zhihu.com/question/20049768/answer/33583461?group_id=517997974975029248

    如果是单P,apache的MOD_PHP的效率超过FPM(这里不考虑请求处理模式所产生的内存与CPU消耗,只测web server对动态内容并发请求的处理),

    还有国外某程序员做的并发测试,在纯PHP处理大量动态内容的测试条件下,Apache始终还是强过nginx

    http://www.eschrade.com/page/why-is-fastcgi-w-nginx-so-much-faster-than-apache-w-mod_php/

    如果你群P又有大量静态内容,用nginx反向+APACHE动态是最好选择

    不过国外一些VPS用户还是建议即使单P还是用nginx,因为服务器资源有限,nginx对于内存和CPU的消耗都低于apache很多。(小站刚开始就不考虑那么多并发了吧)


    我来插科打诨。

    现在流行nginx+hhvm(fastcgi),速度杠杠的,都开了挂,

    nginx比apache强10倍,hhvm比php-fpm强9倍。


    展开全文
  • centos7 apache无法解析php

    万次阅读 2018-02-20 17:34:08
    操作系统:centos7.2 x64...我觉得可能是我安装lamp的顺序不对,然后以如下顺序安装:php7、mariadb、apache和apache、php7、mariadb,发现均无法解析php文件。上网搜索解决方案,说要安装mod_php模块,我试了半天,...

    操作系统:centos7.2 x64

    使用yum安装完apache、php7、mariadb之后,发现apache可以解析html文件,但是不能解析php文件。(如图)
    图一

    我觉得可能是我安装lamp的顺序不对,然后以如下顺序安装:php7、mariadb、apache和apache、php7、mariadb,发现均无法解析php文件。上网搜索解决方案,说要安装mod_php模块,我试了半天,没有发现mod_php这个文件怎么安装,并且/etc/httpd/conf.modules.d/目录下也没有关于php的配置文件。网上说或者重新编译apache,我不想搞这么麻烦,于是就没试。
    我后来看我其他的云服务器,他们用的都是lamp,版本都和这个服务器一样,但是他们却都有一个名为php7_module的apache模块,然后我把这个模块文件(目录可以百度出来)复制到有问题的服务器上,然后复制相应的配置文件(/etc/httpd/conf.modules.d/目录下有一个叫php什么的文件,这个就是对应的配置文件),如图。
    图二
    然后重启apache,发现问题解决。

    难道每次都要弄这么麻烦?
    事后我想,能不能换用php-fpm呢?
    上网搜教程,配置apache来使用php-fpm,并写好配置文件,内容如下

    <FilesMatch \.php$>
             SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>

    保存到/etc/httpd/conf.modules.d/10-php-fpm.conf,然后启动php-fpm,并重启apache,php文件解析成功。如图:
    图三
    可以看到,使用的是FPM模式。


    今天(2018.2.5)看到了一篇博客,发现可以直接使用yum命令来安装apache的mod_php模块:yum install mod_php71w
    如果没有这个安装包,可以尝试着添加一下源:

    rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

    参考资料:
    http://www.onepx.com/from-apache-mod-php-to-php-fpm.html

    展开全文
  • 很多时候会登录一台陌生的服务器;当需要调整环境的时候;那真是起步啥都没有;装备全靠打;两眼一抹黑到处找配置项;.../usr/bin/mysql --help | grep -A1 'Default options'BashCopywhich php /u...
  • PHP判断服务器使用apache还是nginx的方法 &lt;?php echo PHP_SAPI;//结果为fpm-fcgi,使用nginx + php-fpm echo PHP_SAPI;//结果为cgi-fcgi,使用nginx + fastcgi echo PHP_SAPI;//结果为apache2handler,使用...
  • mac下php-fpm配置

    千次阅读 2017-01-02 17:47:17
    mac上自带了php和apache,系统自带的php-fpm在/usr/sbin目录下,而通过brew安装的phpphp-fpm放到了/usr/local/sbin目录,默认启动PHP-fpm时系统会找到/usr/sbin目录的文件,他的默认php-fpm.conf为/priva
  • php-fpm安装、配置与优化

    万次阅读 多人点赞 2017-02-10 14:44:59
    1、php中fastcgi和php-fpm是什么东西 最近在研究学习php的性能方面的知识,看到了factcgi以及php-fpm,发现我对他们是少之又少的理解,可以说几乎是一无所知,想想还是蛮可怕的。决定仔细的学习一下关于这方面...
  • linux下httpd配置支持php-fpm

    千次阅读 2016-12-13 16:33:16
    apache配置支持php-fpm
  • 阿里云目录与文件的权限问题

    千次阅读 2014-08-03 10:11:51
    这样你得为这些目录文件分配合适的权限,一般可以把它们的拥有者设置成 php nginx 使用的用户,默认 nginx 的用户就是 nginx ,而 php-fpm 使用的用户默认是 apache。我们可以把它们改成一个统一的用户,...
  • php+fastcgi+apache2+php-fpm配置

    千次阅读 2009-07-23 10:34:00
    1.安装apache2的mod_fastcgi?[Copy to clipboard]View Code BASH tar -zxvf mod_fastcgicd mod_fastcgicp Makefile.AP2 Makefilemake top_dir=/path/to/apache2#你的apache安装路径make install
  • php-fpm添加service服务

    万次阅读 2016-02-13 22:32:34
    nginx通过FastCGI运行PHPApache包含PHP环境有明显的优势,最近有消息称,PHP5.4将很有可能把PHP-FPM补丁包含在内核里,nginx服务器平台上运行PHP将更加轻松,下面我们就来看一篇php-fpm平滑启动并配置服务例子。...
  • 不建议碰到权限就777, 如果你是php-fpm的方式运行, 看php-fpm运行的用户是...比如apache用户,则用 chown -R apache.apache xxxx/ 查看php-fpm用户 ps -aux | grep php-fpm root 9737 0.0 0.6 575956 25488 ?
  • Yii应用Apache的配置比较简单,nginx的配置主要需要处理单一入口文件的问题.
  • php-fpm的静态static动态dynamic执行方式比较前段时间配置php-fpm的时候,无意间发现原来他还有两种执行方式。与Apache一样,他的进程数也是可以根据设置分为动态静态的。而php-fpm也是同样存在两种方式,一种是...
1 2 3 4 5 ... 20
收藏数 21,949
精华内容 8,779
热门标签
关键字:

phpfpm 和apache