在Ubuntu上配置LNMP(Linux, Nginx, MySQL, PHP)環境的防火墻通常使用 ufw
(Uncomplicated Firewall)。以下是詳細的步驟:
首先,確保你的系統上已經安裝了 ufw
。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt update
sudo apt install ufw
安裝完成后,啟用 ufw
:
sudo ufw enable
系統會提示你確認是否啟用 ufw
,輸入 y
并按回車鍵確認。
接下來,配置 ufw
規則以允許必要的端口。LNMP通常需要以下端口:
你可以使用以下命令來添加這些規則:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 3306/tcp
sudo ufw allow 9000/tcp
為了能夠遠程管理服務器,確保允許SSH訪問:
sudo ufw allow ssh
你可以使用以下命令查看當前的 ufw
狀態和規則:
sudo ufw status
如果你需要臨時禁用 ufw
,可以使用以下命令:
sudo ufw disable
如果你修改了防火墻規則,但不想重啟服務,可以使用以下命令重新加載 ufw
:
sudo ufw reload
確保你的Nginx、MySQL和PHP-FPM服務已經正確配置并運行。以下是一些基本配置示例:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
確保MySQL配置文件(通常位于 /etc/mysql/my.cnf
或 /etc/mysql/mysql.conf.d/mysqld.cnf
)中沒有阻止外部訪問的設置。
確保PHP-FPM配置文件(通常位于 /etc/php/7.4/fpm/pool.d/www.conf
)中的 listen
參數設置正確:
listen = /run/php/php7.4-fpm.sock
最后,重啟Nginx、MySQL和PHP-FPM服務以應用配置更改:
sudo systemctl restart nginx
sudo systemctl restart mysql
sudo systemctl restart php7.4-fpm
通過以上步驟,你應該能夠在Ubuntu上成功配置LNMP環境的防火墻規則。如果有任何問題,請檢查日志文件以獲取更多信息。