首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php-fpm与libriache2-mod-fcgid和/或libriache2-mod-fcgid的差异

php-fpm与libriache2-mod-fcgid和/或libriache2-mod-fcgid的差异
EN

Stack Overflow用户
提问于 2018-10-30 14:48:39
回答 2查看 3.7K关注 0票数 2

现在,我正在使用apache2 PHP安装或新建 new服务器,因为旧的new服务器是与mod_php一起运行的。

我在网上找到了不同的教程,不太可能大多数是1-2岁。其中大多数使用:

libapache2-mod-fastcgi与Apache和PHP相结合。

在Ubuntu18.04仓库,这个包是不可用的,只有这个包:

libapache2-mod-fcgid

我现在能用哪一个?或者两者之间有什么区别?不幸的是,我在网上找不到一个很好的解释。

此外,我经常读到

mod_proxy_fcgi

这是不是意味着我不需要这个……包裹还在吗?

现在,我安装了像这样的所有东西,它可以工作,但我不确定这是否是正确的方法:

代码语言:javascript
复制
a2enmod actions fastcgi alias proxy_fcgi
apt install php-7.2 php7.2-fpm php7.2-gd php7.2-mysql php7.2-curl php7.2-xml php7.2-zip php7.2-intl php7.2-mbstring php7.2-bz2 php7.2-json php7.2-apcu php7.2-imagick
a2enmod actions fastcgi alias proxy_fcgi

vHost:

代码语言:javascript
复制
<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    <FilesMatch \.php$>
         SetHandler "proxy:unix:/var/run/php/php7.2-fpm.sock|fcgi://localhost/"
    </FilesMatch>

    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

PHP正在运行(参见info.php的图片):PHP工作

在以下几个方面有什么区别:

FastCgiExternalServer和ProxyPassMatch ^/(..php(/.)?)$ fcgi://127.0.0.1:9000/path/to/your/documentroot/$1 SetHandler

我有一种感觉,每一个教程都告诉我一些不同的东西,我不知道2018年Ubuntu2018的最佳实践是什么。

EN

回答 2

Stack Overflow用户

发布于 2021-01-23 16:28:17

我知道这是一个老问题,但我想给出一个最新的答复。截至php5.3.3 (2010年)发布时,情况发生了很大变化。一些很棒的信息可以在Apache HTTP Server Wiki上找到。

关于如何只在Ubuntu apache2服务器上安装PHP,简短的回答(注:用已安装的版本替换php7.2 )是:

代码语言:javascript
复制
# Install php-fpm:
apt install php-fpm

# Disable mod_php (Apache Handler API):
a2dismod php*

# Enable Apache Modules/Configs required by fpm:
a2enmod proxy_fcgi setenvif
a2enconf php7.2-fpm.conf

# Restart the services:
systemctl restart php7.2-fpm.service systemctl restart apache2.service

如果要运行PHP,还需要从使用预叉作为多处理模块(MPM)进行更改。这里有一些使用说明

详细说明:基本上可以安装3种不同的Server : Apache、FPM或CGI。查看不同的配置文件可以帮助您了解您可能在系统上安装了什么。目前,在使用php7.x的Ubuntu18.x上创建了以下php.ini文件,具体取决于您安装了什么:

/etc/php/7.2/cli/php.ini

这是用于在命令行上运行php的php程序。每当您安装FPM、CGI或Apache时,都会包含此内容。您可以通过以下方式直接安装它:

代码语言:javascript
复制
apt install php-cli

要查找用于PHP的所有配置文件,可以运行:

代码语言:javascript
复制
php --ini

/etc/php/7.2/apache2/php.ini

这是Apache使用的PHP插件。如果您没有安装PHP或PHP,可以在/etc/apache2/mods-available/php7.2中找到它,那么这就是包含您的PHP服务器设置的文件。要查找所有配置文件,您需要在网站根目录中的创建phpinfo()文件。

要安装,还必须从Apache内部启用mod_php。

代码语言:javascript
复制
apt install libapache2-mod-php
a2enmod php7.2

/etc/php/7.2/fpm/php.ini

这是FastCGI流程管理器。它是PHP处理的包装器,在系统上作为独立进程运行(与Apache插件不同)。只有在安装了PHP之后,您才会拥有这个目录。在这种情况下,它将是对and服务器进行配置更改的地方,并取代apache2/php.ini文件。要查找所有配置文件,您需要在网站根目录中的创建phpinfo()文件。使用PHP作为fastCGI进程服务器运行需要使用apache模块mods-enabled/mod_proxy_fcgi,它与php一起启用。安装php还将使用conf-enabled/php7.2-fpm.conf配置apache,将FPM设置为unix域套接字。

代码语言:javascript
复制
apt install php-fpm
a2enmod mod_proxy_fcgi

/etc/php/7.2/cgi/php.ini

这是可以安装PHP的第三种方式。这是运行基于PHP的应用程序的遗留方式,而不是新的PHP。mod_fcgidmod_cgimod_cgid的高性能替代品,它也将在Apache或PHP中取代php.ini。要查找所有配置文件,您需要在网站根目录中的创建phpinfo()文件。同样,它还附带了自己的apache模块和配置:mods-enabled/fcgid.conf mods-enabled/fcgid

代码语言:javascript
复制
apt install libapache2-mod-fcgid
a2enmod fcgid
票数 5
EN

Stack Overflow用户

发布于 2018-10-30 15:22:39

下面是我的vhost,用于使用mod_proxy_fcgi连接到FPM (显然是推荐的设置,但不要向我询问细节!):

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName awesome.scot
    ServerAlias localhost
    DocumentRoot /var/www/html/public

    <Directory "/var/www/html">
            DirectoryIndex index.php
            FallbackResource /index.php
            Options -Indexes +FollowSymLinks
            AllowOverride FileInfo All
            Require all granted
    </Directory>
    ProxyPassMatch ^/(.*\.php)$ fcgi://php:9000/var/www/html/public/$1
</VirtualHost>

在大厅里,我还戴着这些:

代码语言:javascript
复制
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

如果您使用XDebug,您将需要将它的端口更改为9001,因为现在使用的是9000。

如果您需要查看更多配置,请查看我的码头灯堆栈配置( https://github.com/delboy1978uk/lamp )

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53066973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档