在Ubuntu上為PHP-FPM設置防火墻規則,通常需要使用ufw
(Uncomplicated Firewall)工具。以下是詳細步驟:
ufw
如果你的系統還沒有安裝ufw
,可以使用以下命令進行安裝:
sudo apt update
sudo apt install ufw
ufw
安裝完成后,啟用ufw
:
sudo ufw enable
系統會提示你確認是否啟用防火墻,輸入y
并按回車鍵。
PHP-FPM通常通過HTTP或HTTPS協議提供服務,因此需要允許這些端口的流量。默認情況下,HTTP使用端口80,HTTPS使用端口443。
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
PHP-FPM默認監聽Unix套接字(例如/var/run/php/php7.4-fpm.sock
),如果你需要通過TCP/IP訪問PHP-FPM,可以配置PHP-FPM監聽TCP端口,并在防火墻中允許該端口的流量。
編輯PHP-FPM配置文件(通常位于/etc/php/7.4/fpm/pool.d/www.conf
):
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
找到以下行并修改:
listen = /var/run/php/php7.4-fpm.sock
改為:
listen = 127.0.0.1:9000
或者你也可以監聽所有接口:
listen = 0.0.0.0:9000
修改配置后,重啟PHP-FPM服務以應用更改:
sudo systemctl restart php7.4-fpm
sudo ufw allow 9000/tcp
你可以使用以下命令檢查ufw
的狀態和已允許的規則:
sudo ufw status
根據你的應用需求,可能還需要允許其他端口的流量,例如數據庫端口(MySQL通常使用3306端口):
sudo ufw allow 3306/tcp
ufw
(可選)如果你需要臨時禁用防火墻,可以使用以下命令:
sudo ufw disable
通過以上步驟,你就可以在Ubuntu上為PHP-FPM設置防火墻規則了。確保在生產環境中仔細檢查防火墻規則,以避免不必要的安全風險。