在 Ubuntu 上安全配置 PHP-FPM 的步骤如下:
-
安装 PHP-FPM: 在终端中运行以下命令以安装 PHP-FPM:
sudo apt-get update sudo apt-get install php-fpm -
配置 PHP-FPM: PHP-FPM 的配置文件位于
/etc/php/{version}/fpm/pool.d/www.conf,其中{version}是您安装的 PHP 版本。例如,如果您安装的是 PHP 7.4,则配置文件路径为/etc/php/7.4/fpm/pool.d/www.conf。使用文本编辑器打开配置文件,例如:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf在配置文件中,您可以设置以下选项以提高安全性:
-
listen.owner和listen.group:将这两个选项设置为非 root 用户和组,以限制对 PHP-FPM 套接字的访问。例如:listen.owner = www-data listen.group = www-data -
listen.mode:将此选项设置为0660,以便只有 owner 和 group 可以访问 PHP-FPM 套接字。listen.mode = 0660 -
user和group:将这两个选项设置为非 root 用户和组,以限制 PHP-FPM 进程的权限。例如:user = www-data group = www-data -
clear_env:将此选项设置为no,以防止 PHP-FPM 进程继承不必要的环境变量。clear_env = no -
security.limit_extensions:此选项允许您限制 PHP-FPM 处理的文件扩展名。这可以防止潜在的恶意文件上传。例如,仅允许处理 PHP 和 HTML 文件:security.limit_extensions = .php .html
保存并关闭配置文件。
-
-
重启 PHP-FPM: 为了使更改生效,请重启 PHP-FPM 服务:
sudo systemctl restart php{version}-fpm将
{version}替换为您安装的 PHP 版本,例如:php7.4-fpm。 -
配置 Nginx 或 Apache: 根据您使用的 Web 服务器(Nginx 或 Apache),您需要相应地配置它以使用 PHP-FPM。确保将 FastCGI 参数指向正确的 PHP-FPM 套接字,并限制对套接字的访问。
对于 Nginx,您可以在
/etc/nginx/sites-available/{your-site}文件中添加以下配置:location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php{version}-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }将
{your-site}替换为您的站点名称,将{version}替换为您安装的 PHP 版本。对于 Apache,您需要在
/etc/apache2/sites-available/{your-site}.conf文件中添加以下配置:SetHandler "proxy:unix:/run/php/php{version}-fpm.sock|fcgi://localhost" 将
{your-site}替换为您的站点名称,将{version}替换为您安装的 PHP 版本。保存并关闭配置文件。对于 Nginx,运行
sudo nginx -t以检查配置文件的语法,然后运行sudo systemctl restart nginx重启 Nginx。对于 Apache,运行sudo systemctl restart apache2重启 Apache。
现在,您已经在 Ubuntu 上安全地配置了 PHP-FPM。请确保定期更新您的系统和软件包,以保持安全性。
以上就是关于“如何在ubuntu上安全配置php-fpm”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm