温馨提示×

Linux中php-fpm如何实现负载均衡

小樊
41
2025-11-24 13:57:25
栏目: 云计算

在Linux中,要实现PHP-FPM的负载均衡,可以使用Nginx或Apache作为反向代理服务器。这里以Nginx为例,介绍如何实现负载均衡。

  1. 安装Nginx:

在终端中输入以下命令来安装Nginx:

sudo apt-get update
sudo apt-get install nginx
  1. 配置Nginx:

编辑Nginx的配置文件,通常位于/etc/nginx/sites-available目录下。创建一个新的配置文件,例如php-fpm.conf,并添加以下内容:

upstream php_fpm_pool {
    server unix:/run/php/php7.4-fpm.sock; # 对于PHP 7.4,使用这个路径
    # server 127.0.0.1:9000; # 对于PHP 7.4,使用这个路径
    # server unix:/var/run/php/php7.4-fpm.sock; # 对于PHP 7.4,使用这个路径
    # server 127.0.0.1:9000; # 对于PHP 7.4,使用这个路径
    # 可以添加更多的PHP-FPM实例,以实现负载均衡
}

server {
    listen 80;
    server_name example.com; # 替换为你的域名或IP地址

    root /var/www/html; # 替换为你的网站根目录
    index index.php index.html index.htm;

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

    location ~ \.php$ {
        fastcgi_pass php_fpm_pool;
        fastcgi_index index.php;
        include fastcgi.conf;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

在这个配置文件中,我们定义了一个名为php_fpm_pool的上游服务器组,其中包含了PHP-FPM实例的地址。你可以根据实际情况添加更多的PHP-FPM实例,以实现负载均衡。

然后,将这个配置文件链接到sites-enabled目录:

sudo ln -s /etc/nginx/sites-available/php-fpm.conf /etc/nginx/sites-enabled/
  1. 重启Nginx:

在终端中输入以下命令来重启Nginx,使配置生效:

sudo systemctl restart nginx

现在,Nginx已经配置为使用PHP-FPM进行负载均衡。访问你的网站,Nginx会将PHP请求分发到不同的PHP-FPM实例上,从而实现负载均衡。

0