在进行 PHP 开发时,经常需要使用 PHP-FPM 服务,其可以作为一个 HTTP 服务器使用,也可以使用 Nginx 或者 Apache HTTP 服务器作为反向代理服务器。无论是作为 HTTP 服务器还是反向代理服务器,都需要进行相应的配置,本文将介绍在 CentOS 7 上如何添加 PHP-FPM 的 service 服务。
1. 确认 PHP-FPM 是否已经安装
在创建 PHP-FPM service 服务之前,需要确认 PHP-FPM 是否已经在我们的系统中安装。可以使用以下命令来检查:
php-fpm -v
如果返回以下信息,则表示 PHP-FPM 已经安装:
PHP 7.4.1 (fpm-fcgi) (built: Dec 17 2019 09:23:42)
2. 创建 PHP-FPM 的 service 服务
在 CentOS 或其他基于 RedHat 的 Linux 发行版上,可以使用以下命令创建 PHP-FPM 的 service 服务:
sudo nano /etc/systemd/system/php-fpm.service
然后将以下内容复制到文件 php-fpm.service 中:
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=simple
# Change this to your PHP binary path
ExecStart=/usr/local/php74/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php74/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
在添加完以上内容之后,保存并退出编辑器。这样就已经成功创建了 PHP-FPM 的 service 服务。
3. 启动 PHP-FPM 服务
启动 PHP-FPM 服务之前,需要开启 PHP-FPM 的监听端口。修改 php-fpm.conf 配置文件中的以下内容:
listen = 127.0.0.1:9000
然后启动 PHP-FPM 服务:
sudo systemctl start php-fpm
如果希望 PHP-FPM 服务在系统启动时自动启动,则可以使用以下命令将其添加到 systemctl 启动项列表中:
sudo systemctl enable php-fpm
4. 配置 Nginx 使用 PHP-FPM
如果想要使用 Nginx 来作为反向代理服务器,并让 Nginx 与 PHP-FPM 进行交互,则需要在 Nginx 中进行相应的配置。在 /etc/nginx/conf.d/default.conf 文件中设置以下内容:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
上述配置中,Nginx 会监听所有以 .php 结尾的请求并将其发送给 PHP-FPM 进行处理。
至此,已经演示了如何添加 PHP-FPM 的 service 服务。希望本篇文章对您有所帮助!