溫馨提示×

php-fpm在ubuntu如何負載均衡

小樊
49
2025-07-11 15:28:26
欄目: 云計算

在Ubuntu上使用PHP-FPM進行負載均衡,通常需要結合Nginx或Apache作為反向代理服務器。以下是使用Nginx作為反向代理服務器實現負載均衡的步驟:

1. 安裝PHP-FPM和Nginx

首先,確保你的系統是最新的,并安裝PHP-FPM和Nginx:

sudo apt update
sudo apt install php-fpm nginx

2. 配置PHP-FPM

編輯PHP-FPM配置文件,通常位于/etc/php/7.x/fpm/pool.d/www.conf(根據你的PHP版本調整路徑):

sudo nano /etc/php/7.x/fpm/pool.d/www.conf

找到并修改以下行,設置監聽地址和端口:

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

php7.x替換為你的PHP版本號。

3. 配置Nginx

編輯Nginx的默認站點配置文件,通常位于/etc/nginx/sites-available/default

sudo nano /etc/nginx/sites-available/default

server塊中添加以下內容,配置PHP-FPM的反向代理:

server {
    listen 80;
    server_name your_domain.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:/run/php/php7.x-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

your_domain.com替換為你的域名,并將php7.x替換為你的PHP版本號。

4. 啟用Nginx配置

創建一個符號鏈接以啟用Nginx配置:

sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/

測試Nginx配置是否正確:

sudo nginx -t

如果沒有錯誤,重新加載Nginx以應用更改:

sudo systemctl reload nginx

5. 配置負載均衡

如果你有多個PHP-FPM實例,可以在Nginx配置中添加負載均衡。編輯Nginx配置文件,通常位于/etc/nginx/nginx.conf

sudo nano /etc/nginx/nginx.conf

http塊中添加以下內容:

upstream php_backend {
    server unix:/run/php/php7.x-fpm.sock;
    server unix:/run/php/php7.y-fpm.sock;  # 添加其他PHP-FPM實例的路徑
}

php7.xphp7.y替換為你的PHP版本號。

然后,在server塊中修改fastcgi_pass指令:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass php_backend;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

6. 重啟Nginx

重新加載Nginx以應用更改:

sudo systemctl reload nginx

現在,你的Nginx服務器應該能夠通過PHP-FPM實例進行負載均衡了。

注意事項

  • 確保所有PHP-FPM實例的配置文件(/etc/php/7.x/fpm/pool.d/www.conf)中的監聽地址和端口一致。
  • 確保Nginx和PHP-FPM服務都已啟動并運行:
sudo systemctl status nginx
sudo systemctl status php7.x-fpm

通過以上步驟,你應該能夠在Ubuntu上使用PHP-FPM和Nginx實現負載均衡。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女