Ubuntu20.04配置apache和php-fpm

Ubuntu20.04配置apache和php-fpm

之前用的php是作为apache的模块使用,现在需要改成PHP-FPM来代理php请求,好处是PHP-FPM作为一个独立的进程管理器,可以预先fork进程,避免了重复的初始化操作,且当请求数量累计到一定程度后,重启进程,从而释放内存给系统。

php-fpm的安装

安装apache、php、php-fpm时需要注意顺序,一般先安装apache。

apt install apache2

安装完apache之后,如果先安装php,之后会默认将php作为apache的模块使用,因此可以先安装php-fpm,再安装php。

apt install php-fpm
apt install php

apache配置文件

先进入/etc/apache2/目录下,这是apache的配置文件目录。
在这里插入图片描述

-available文件夹下是全部的配置文件,-enabled文件夹下是实际生效的配置文件的链接,因此改配置文件时要改-available文件夹下的conf文件。

php7.4-fpm.conf默认在/etc/apache2/conf-available/下,有就行,一般不用改。
在这里插入图片描述

想要启用php-fpm,需要先禁用php7.4模块,再启用proxy_fcgi模块和php7.4-fpm配置。

a2dismod php7.4
a2enmod proxy_fcgi
a2enconf php7.4-fpm

重启apache和php-fpm生效。

systemctl reload apache2
systemctl restart apache2
systemctl restart php7.4-fpm.service

重启之后,进入/etc/apache2/mods-enabled/目录,能看到有proxy_fcgi.load,且没有php7.4.conf和php7.4.load。
在这里插入图片描述
再进入/etc/apache2/conf-enabled/目录,能看到有php7.4-fpm.conf。
在这里插入图片描述

php配置文件

全局搜php.ini,能看到有多个相同文件在不同目录下。

find / -name php.ini

在这里插入图片描述

不同位置的php.ini对应不同的使用场景:

用命令行执行php,对应的是/etc/php/7.4/cli/php.ini
php作为apache模块使用,对应的是/etc/php/7.4/apache2/php.ini
用php-fpm,对应的是/etc/php/7.4/fpm/php.ini

不同使用场景下,php.ini的生效方式不一样

php作为apache模块使用,修改php.ini后,需要执行systemctl restart apache2
用php-fpm,修改php.ini后,需要执行systemctl restart php7.4-fpm.service

更新php.ini时最好将3个位置的php.ini都替换了,才能保证功能一致。

查看进程

当网页前端发起请求后,可以通过top命令查看系统进程,如果看到有php-fpm进程,说明php-fpm生效了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值