Ubuntu上的PHP-FPM(FastCGI Process Manager)与Nginx协同工作主要通过FastCGI协议实现。PHP-FPM负责处理PHP脚本,而Nginx则作为Web服务器接收请求并将其转发给PHP-FPM进行处理。以下是它们协同工作的基本步骤:
首先,需要在Ubuntu系统上安装PHP和PHP-FPM。可以使用以下命令进行安装:
sudo apt update
sudo apt install php-fpm php-mysql
安装完成后,需要对PHP-FPM进行配置。主要的配置文件位于/etc/php/{version}/fpm/php.ini
,其中{version}
需要替换为实际安装的PHP版本号。在这个文件中,可以对PHP进行各种设置,如内存限制、上传文件大小限制等。
sudo nano /etc/php/{version}/fpm/php.ini
此外,还需要配置PHP-FPM的进程管理,这个配置文件位于/etc/php/{version}/fpm/pool.d/www.conf
。在这个文件中,可以对php-fpm的进程管理进行配置,如启动的进程数、最大请求数等。
sudo nano /etc/php/{version}/fpm/pool.d/www.conf
配置完成后,需要启动PHP-FPM服务。可以使用以下命令来启动PHP-FPM服务:
sudo systemctl start php{version}-fpm
如果希望PHP-FPM在系统启动时自动启动,可以使用以下命令:
sudo systemctl enable php{version}-fpm
接下来,需要配置Nginx以使用PHP-FPM。打开Nginx的配置文件,通常位于/etc/nginx/nginx.conf
或/etc/nginx/sites-available/default
,并添加以下内容:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/{version}-fpm.sock;
}
注意将{version}
替换为你所安装的PHP版本号。这样配置后,Nginx就知道在处理.php
请求时将请求转发给PHP-FPM。
完成上述配置后,需要重启Nginx服务以使更改生效:
sudo systemctl restart nginx
至此,PHP-FPM已经成功配置并可以与Nginx协同工作,处理PHP脚本。可以通过创建一个info.php
文件来测试配置是否正确:
<?php
phpinfo();
?>
将这个文件放置在Nginx的默认文档根目录下(通常是/var/www/html
),然后在浏览器中访问http://your_server_ip/info.php
,如果看到PHP信息页面,则说明配置成功。
以上就是在Ubuntu系统上配置PHP-FPM与Nginx协同工作的基本步骤。根据具体需求,可能还需要进行其他配置操作,如调整PHP-FPM的进程管理方式、设置PHP-FPM的资源限制等。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:如何配置Ubuntu LNMP虚拟主机