ubuntu

ubuntu下php-fpm如何实现负载均衡

小樊
31
2025-05-22 00:43:30
栏目: 云计算

在Ubuntu下,要实现PHP-FPM的负载均衡,可以使用Nginx作为反向代理服务器。以下是配置Nginx实现负载均衡的步骤:

  1. 安装Nginx: 在终端中输入以下命令来安装Nginx:
sudo apt-get update
sudo apt-get install nginx
  1. 安装PHP-FPM: 在终端中输入以下命令来安装PHP-FPM:
sudo apt-get install php-fpm
  1. 配置PHP-FPM: 编辑PHP-FPM配置文件,默认路径为/etc/php/7.x/fpm/pool.d/www.conf(其中7.x是你的PHP版本)。
sudo nano /etc/php/7.x/fpm/pool.d/www.conf

找到listen行,将其更改为:

listen = /run/php/php7.x-fpm.sock

7.x替换为你的PHP版本。保存并退出。

  1. 重启PHP-FPM服务:
sudo systemctl restart php7.x-fpm

7.x替换为你的PHP版本。

  1. 配置Nginx负载均衡: 编辑Nginx配置文件,默认路径为/etc/nginx/sites-available/default
sudo nano /etc/nginx/sites-available/default

server块中,找到location ~ \.php$部分,修改为以下内容:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.x-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

7.x替换为你的PHP版本。

  1. 在Nginx中配置负载均衡: 在http块中,添加以下内容:
upstream php-fpm {
    server unix:/run/php/php7.x-fpm.sock;
    # 如果有多个PHP-FPM实例,可以添加更多server行
    # server unix:/run/php/php7.y-fpm.sock;
}

7.x7.y替换为你的PHP版本。

然后,在server块中,将fastcgi_pass行更改为:

fastcgi_pass php-fpm;
  1. 保存并退出Nginx配置文件。

  2. 重启Nginx服务:

sudo systemctl restart nginx

现在,Nginx将作为PHP-FPM的反向代理服务器,并实现负载均衡。如果有多个PHP-FPM实例,Nginx将根据配置的权重将请求分发到不同的实例。

0
看了该问题的人还看了