ubuntu

Ubuntu PHP-FPM如何管理多个站点

小樊
51
2025-08-13 16:10:18
栏目: 编程语言

在Ubuntu上使用PHP-FPM管理多个站点,可以通过配置Nginx或Apache作为Web服务器来实现。以下是使用Nginx和PHP-FPM管理多个站点的步骤:

  1. 安装PHP-FPM:
sudo apt-get update
sudo apt-get install php-fpm
  1. 为每个站点创建一个单独的目录,例如:
sudo mkdir -p /var/www/site1.com/public_html
sudo mkdir -p /var/www/site2.com/public_html
  1. 更改站点目录的所有权,以便Web服务器可以访问它们:
sudo chown -R www-data:www-data /var/www/site1.com/public_html
sudo chown -R www-data:www-data /var/www/site2.com/public_html
  1. 为每个站点创建一个Nginx配置文件。在/etc/nginx/sites-available目录下创建新文件,例如site1.comsite2.com

  2. 编辑每个站点的Nginx配置文件。以下是一个示例配置:

对于site1.com

server {
    listen 80;
    server_name site1.com www.site1.com;

    root /var/www/site1.com/public_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.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

对于site2.com

server {
    listen 80;
    server_name site2.com www.site2.com;

    root /var/www/site2.com/public_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.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
  1. 创建到sites-enabled的符号链接,以启用站点配置:
sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/
  1. 检查Nginx配置文件的语法是否正确:
sudo nginx -t
  1. 如果一切正常,重新加载Nginx以应用更改:
sudo systemctl reload nginx
  1. 重启PHP-FPM服务以确保其使用新的配置:
sudo systemctl restart php7.4-fpm

现在,您已经成功配置了多个站点,每个站点都有自己的PHP-FPM池。如果需要为每个站点使用不同的PHP版本,只需为每个版本安装PHP-FPM,并在Nginx配置文件中为每个站点指定相应的fastcgi_pass参数。

0
看了该问题的人还看了