在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
參數。