在Ubuntu上使用PHP-FPM管理多个站点,可以通过配置Nginx或Apache作为Web服务器来实现。以下是使用Nginx和PHP-FPM管理多个站点的步骤:
sudo apt-get update
sudo apt-get install php-fpm
sudo mkdir -p /var/www/site1.com/public_html
sudo mkdir -p /var/www/site2.com/public_html
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
为每个站点创建一个Nginx配置文件。在/etc/nginx/sites-available
目录下创建新文件,例如site1.com
和site2.com
。
编辑每个站点的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;
}
}
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/
sudo nginx -t
sudo systemctl reload nginx
sudo systemctl restart php7.4-fpm
现在,您已经成功配置了多个站点,每个站点都有自己的PHP-FPM池。如果需要为每个站点使用不同的PHP版本,只需为每个版本安装PHP-FPM,并在Nginx配置文件中为每个站点指定相应的fastcgi_pass
参数。