温馨提示×

PHP-FPM在Ubuntu上如何安全设置

小樊
40
2025-02-28 11:05:00
栏目: 编程语言
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu上安全设置PHP-FPM涉及多个步骤,包括安装、配置、优化以及安全加固。以下是一个详细的指南:

安装PHP和PHP-FPM

首先,确保你的系统是最新的:

sudo apt update
sudo apt upgrade

然后,安装PHP和PHP-FPM:

sudo apt install php-fpm php-mysql

配置PHP-FPM

编辑PHP-FPM的配置文件,通常位于/etc/php/版本号/fpm/php.ini/etc/php-fpm.conf。以下是一些关键配置选项:

  • listen: 设置PHP-FPM监听的地址和端口。建议使用Unix套接字以提高安全性:

    listen = unix:/var/run/php/php7.4-fpm.sock
    
  • usergroup: 设置PHP-FPM运行的用户和组,通常使用www-data

    user = www-data
    group = www-data
    
  • pm.max_children: 设置最大子进程数,根据服务器的内存和预期负载进行调整。

  • pm.start_servers: 设置启动时的子进程数。

  • pm.min_spare_serverspm.max_spare_servers: 设置空闲子进程池的最小和最大数量。

  • request_terminate_timeout: 设置单个请求的超时时间,防止长时间运行的脚本占用资源。

配置Nginx

编辑Nginx的配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/default。确保PHP文件的处理配置正确:

server {
    listen 80;
    server_name yourdomain.com;

    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
}

替换yourdomain.com为你的域名。

安全加固

  1. 修改默认端口:默认的SSH端口22容易被攻击,修改SSH端口并禁用密码登录:

    sudo nano /etc/ssh/sshd_config
    

    找到Port并修改为非标准端口,例如2222。然后禁用密码登录:

    PasswordAuthentication no
    

    重启SSH服务:

    sudo systemctl restart sshd
    
  2. 使用防火墙:使用ufw限制对PHP-FPM端口的访问:

    sudo ufw allow 'Nginx Full'
    
  3. 禁用不必要的PHP模块:在编译PHP时,禁用不需要的扩展以减少攻击面。

  4. 定期更新和监控:定期更新PHP和PHP-FPM到最新版本,并监控日志文件以发现潜在的安全问题。

  5. 使用PHP-FPM状态页面:如果配置了状态页面,可以通过浏览器访问http://yourdomain.com/status来监控PHP-FPM的状态。

以上步骤可以帮助你在Ubuntu上安全地设置PHP-FPM。根据具体需求和环境,可能还需要进一步调整和优化。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:php-fpm在ubuntu上的安全设置有哪些

0