要在Ubuntu上將PHP-FPM與Apache一起使用,您需要按照以下步驟操作:
安裝Apache和PHP:
首先,確保您的系統已更新:
sudo apt update
sudo apt upgrade
接下來,安裝Apache2:
sudo apt install apache2
安裝PHP及其相關模塊:
sudo apt install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
啟用Apache的mod_proxy和mod_proxy_fcgi模塊:
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_fcgi
配置PHP-FPM:
編輯PHP-FPM配置文件:
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
找到以下行:
;listen.owner = apache
;listen.group = apache
取消注釋(刪除行首的分號)以使PHP-FPM以Apache用戶身份運行:
listen.owner = apache
listen.group = apache
保存并關閉文件。
重啟PHP-FPM服務:
sudo systemctl restart php7.4-fpm
配置Apache虛擬主機:
編輯Apache虛擬主機配置文件。這里我們為默認站點進行配置:
sudo nano /etc/apache2/sites-available/000-default.conf
在<VirtualHost *:80>
部分中,找到DocumentRoot
指令并將其更改為指向您的PHP項目目錄。例如:
DocumentRoot /var/www/html/my_project
在<Directory>
部分中,啟用AllowOverride All
以便Apache可以處理.htaccess
文件中的指令:
<Directory /var/www/html/my_project>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
在<VirtualHost>
部分中,添加以下內容以將PHP請求代理到PHP-FPM:
<FilesMatch \.php$>
SetHandler "proxy:fcgi://localhost:9000"
</FilesMatch>
保存并關閉文件。
重啟Apache服務:
sudo systemctl restart apache2
現在,您的Ubuntu系統已成功配置了Apache和PHP-FPM。您可以通過訪問您的網站來測試配置是否正確。如果一切正常,您應該能夠看到您的PHP項目在瀏覽器中運行。