大家好!在上一章,我們已經成功設置了 LNMP 堆疊中的 Linux、Nginx 和 MySQL。現在,我們將要完成最後一步,安裝並配置 PHP,讓我們的伺服器可以執行動態網站! 為什麼要學習設置 PHP?因為大多數網站都需要處理動態內容,例如使用者登入、資料庫查詢、個人化內容等等,而 PHP 正是處理這些動態內容的強大工具。它與我們已設置的 Nginx 和 MySQL 完美協作,組成一個功能完整的網站架構。 什麼是 LNMP? LNMP 代表 Linux、Nginx、MySQL 和 PHP。它們各自扮演著不同的角色:
- Linux:我們的伺服器作業系統,提供運行環境。
- Nginx:一個高效能的網頁伺服器,負責接收和傳送網頁內容。
- MySQL:一個關係型資料庫管理系統,用於儲存網站資料。
- PHP:一個伺服器端腳本語言,負責處理動態網頁內容,並與 MySQL 互動。
簡單來說,使用者透過 Nginx 瀏覽網站,Nginx 接收到請求後,會將請求轉交給 PHP 處理,PHP 再與 MySQL 互動,取得資料,最後將處理後的結果透過 Nginx 回傳給使用者。
安裝 PHP
我們將使用 apt 套件管理器來安裝 PHP 和相關套件。在你的伺服器終端機輸入以下指令:
sudo apt update
(更新套件列表)sudo apt install php-fpm php-mysql
(安裝 PHP-FPM 和 MySQL 連接器) 這行指令會安裝 PHP FastCGI Process Manager (PHP-FPM),它負責處理 PHP 腳本,以及讓 PHP 可以連接到 MySQL 資料庫的必要的套件。 配置 PHP-FPM 與 Nginx 整合 PHP-FPM 安裝完成後,我們需要配置 Nginx 來與它協作。這需要修改 Nginx 的配置文件。使用你的文字編輯器打開 Nginx 的配置文件,通常位於/etc/nginx/sites-available/default
(或你的網站設定檔)。 你需要在你的 Nginx server 區塊中添加以下程式碼,這段程式碼告訴 Nginx 如何將 PHP 檔案請求轉發給 PHP-FPM 處理:location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 根據你的 PHP 版本調整路徑 }
請注意
/run/php/php7.4-fpm.sock
這個路徑,它指向 PHP-FPM 的 socket 檔案。你的實際路徑可能會根據你的系統和 PHP 版本有所不同,請確認正確的路徑。你可以使用find / -name "*php-fpm.sock"
來查找正確的路徑。 修改完畢後,儲存檔案並測試 Nginx 配置是否正確:sudo nginx -t
如果沒有錯誤訊息,則重新啟動 Nginx:sudo systemctl restart nginx
測試 LNMP 環境 讓我們創建一個簡單的 PHP 檔案來測試我們的 LNMP 環境。在你的網站根目錄(通常是/var/www/html
)下創建一個名為info.php
的檔案,並加入以下程式碼:<?php phpinfo(); ?>
然後,在你的瀏覽器中輸入你的伺服器位址加上
/info.php
,例如:http://你的伺服器IP位址/info.php
。 如果一切正常,你應該會看到一個顯示 PHP 資訊的頁面。這表示你的 LNMP 堆疊已經成功設置! 課堂練習 請同學們按照上述步驟,在你的虛擬機器或伺服器上安裝 PHP,配置 Nginx 與 PHP-FPM,並創建並訪問一個 PHP 測試頁面。過程中如有任何問題,請隨時提問。 結語 恭喜你完成了 LNMP 堆疊的設置!現在你已經擁有一個可以運行動態網站的伺服器環境。 記得練習,多嘗試,熟練掌握這些步驟。下一步,你可以學習如何調校 Nginx 和 PHP-FPM 的配置文件,以獲得更好的效能。 透過 LNMP,你可以建立更豐富、更互動的網站,為你的網路應用程式打下堅實的基礎。 繼續努力,你會成為一個優秀的伺服器管理員!