第九章:調校 Nginx 與 PHP 配置文件

大家好!前面幾章我們學習了如何架設網站和基本伺服器管理,現在我們要進階學習如何優化網站的效能和安全性。本章將教你如何調校 Nginx 和 PHP 的配置文件,讓你的網站跑得更快、更穩定也更安全! 為什麼要學習配置文件的調校呢?因為預設的設定值可能並非最適合你的網站,調整這些設定可以大幅提升網站的效能,減少伺服器負擔,同時也能提升安全性,避免遭受攻擊。學會這些技巧,你將能成為更專業的網站管理員! Nginx 配置優化 Nginx 是我們常用的網頁伺服器,其配置文件位於 /etc/nginx/nginx.conf。調整一些參數可以讓 Nginx 更有效率地處理請求。

  • worker_processes:這個參數設定 Nginx 使用多少個工作進程來處理請求。一般來說,設定為 CPU 核心數的兩倍是一個不錯的起點。例如,你的伺服器有 4 個 CPU 核心,你可以將 worker_processes 設定為 8。 調整這個參數可以充分利用伺服器資源。
  • worker_connections:這個參數設定每個工作進程可以同時處理多少個連線。 增加這個值可以讓 Nginx 同時處理更多用戶請求,但也要考慮伺服器資源是否足夠負荷。設定太高可能導致伺服器超載。 建議根據伺服器記憶體大小和網路頻寬來調整。
  • Gzip 壓縮:啟用 Gzip 壓縮可以減少網頁大小,加快網頁載入速度,提升使用者體驗。 在 nginx.conf 中找到 http 區塊,加入以下指令: gzip on; gzip_types text/plain application/xml application/xhtml+xml text/css application/javascript application/x-javascript text/xml image/svg+xml; 這段指令會開啟 Gzip 壓縮,並指定哪些類型的檔案需要壓縮。 一個簡單的 nginx.conf 範例片段: worker_processes 8; events { worker_connections 1024; } http { gzip on; gzip_types text/plain application/xml application/xhtml+xml text/css application/javascript application/x-javascript text/xml image/svg+xml;

    … 其他設定 …

    } PHP 配置優化 PHP 是常用的網頁程式語言,其配置文件通常位於 /etc/php//fpm/php.ini ( 代表 PHP 版本號碼,例如 7.4, 8.0)。調整一些參數可以提升 PHP 的效能。

  • memory_limit:這個參數設定 PHP 腳本可以使用的最大記憶體量。 如果你的網站程式碼記憶體使用量過大,容易導致錯誤甚至伺服器當機,建議根據實際情況調整,預設值通常偏低。
  • upload_max_filesize:這個參數設定 PHP 可以上傳檔案的最大大小。 如果你需要上傳較大的檔案,例如圖片或影片,需要增加這個值。 例如,如果你要為 WordPress 優化 PHP 設定,建議將 memory_limit 設定為至少 256M, upload_max_filesize 設定為至少 64M。 這可以確保 WordPress 能夠順利執行,並上傳較大的媒體檔案。 安全強化 安全是網站架設的重要環節,我們需要透過 Nginx 和 PHP 的設定來強化網站的安全性。
  • Nginx IP 限制: 可以在 Nginx 的配置文件中設定只允許特定的 IP 位址訪問你的網站。 這可以有效防止惡意攻擊。
  • PHP 禁用危險函數: 有些 PHP 函數具有安全風險,可以透過在 php.ini 中將其禁用,來提升安全性。 例如,可以禁用 exec()shell_exec() 等函數。 課堂練習 現在我們來做個小練習!請你調整 Nginx 的 worker_connections 和 PHP 的 memory_limit,然後使用 curl 測試你的網站響應時間。
  • 調整 worker_connections 為 2048 (記得先備份原檔案!)。
  • 調整 memory_limit 為 128M (記得先備份原檔案!)。
  • 使用 curl 命令測試網站的響應時間,例如: curl -o /dev/null -s -w %{time_total}\n https://你的網站網址 (將 你的網站網址 替換為你的網站地址)。
  • 比較調整前後的響應時間差異。 結語 定期檢查和調整 Nginx 和 PHP 的配置文件,可以讓你的網站保持最佳的效能和安全性。 希望透過本章的學習,你能更了解如何優化你的網站設定。 接下來,你可以學習更進階的伺服器維護知識,例如:日誌分析、伺服器監控等,讓你的網站運作更加穩定可靠。 持續學習,你將成為更優秀的網站管理員!

優惠推廣

優惠推廣
不再顯示

確定今天不再顯示提示