如何在 NGINX 安裝 php

與 Apache 不同,Nginx 不包含本地 PHP 處理,所以我們必須安裝PHP-FPM(FastCGI 流程管理器)。

Step1:安裝 php

首先透過指令安裝 php,

sudo apt-get install php-fpm php-mysqlnd php-mbstring php-json

這邊沒有指定版本的話就會安裝最新的版本,我後面還有安裝 php-mysqlnd、php-mbsgring 和 php-json 是其他的 php 套件。

 

安裝後可以用以下指令檢查 php 版本:

php -v

成功的話應該可以看到類似以下的內容:

PHP 8.1.2 (cli) (built: Jul 21 2022 12:10:37) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies

 

接著透過以下指令列出 php 的相關內容:

ls /var/run/php/

會得到以下的結果:

php8.1-fpm.pid php8.1-fpm.sock php-fpm.sock

 

Step2:為 NGINX 配置 php

接著要替 NGINX 配置 php,我們使用 nano 來編輯文件。

sudo nano /etc/nginx/sites-available/default

 

優先使用 index.php

鍵盤按下 ctrl + w 搜尋 index.html

index.php 添加在 index.html 之前,這樣預設文件將以 index.php 視為最優先順位,index.html 就會變到次一順位。

修改後的內容會像這樣:

index index.php index.html index.htm index.nginx-debian.html;

 

檢查伺服器名稱

按下 ctrl + w 搜尋 server_name

在此處輸入服務器的 IP,如果有 domain name,則輸入 domain name。

server_name YOUR_DOMAIN_OR_IP_HERE;

 

指定由 php 來執行 php script

按下 ctrl + w 搜尋 location ~ \.php

這邊把一些 # 拿掉,會像這樣

location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        #       # With php-cgi (or other tcp sockets):
        #       fastcgi_pass 127.0.0.1:9000;
        }

要注意的是 /var/run/php/php8.1-fpm.sock 跟你的 php 版本有關,可以用先前提到的 ls /var/run/php/ 確認版本。

接著存檔,按下 ctrl + x 然後按下 yEnter

 

Step3:重啟 NGINX 服務

檢查配置文件,確保語法沒有錯誤

sudo nginx -t

沒有錯誤的話會顯示以下內容:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

沒有問題的話就可以重啟 NGINX 了

udo service nginx restart

 

Step4:測試 php

以上都完成的話,就可以在你放網頁的資料夾,預設是 /var/www/html/ 建立一個檔案 info.php,並在裡面放上以下的 code

<?php
phpinfo();

接著連到你的網頁 沒有設的 domain 的話應該會是 主機IP/info.php。

如果可以看到內容就的代表設定完成了,記得要把 info.php 刪掉,不然裡面有些資訊被知道了會有安全性上的問題。

 

課程推薦

HTML與SEO實戰應用—並以ChatGPT助力提升網站品質與流量

HTML與SEO實戰應用—並以ChatGPT助力提升網站品質與流量

本課程專為希望深入了解 HTML 並有效結合 SEO 策略的學員設計。我們將重點放在 HTML 的深度學習與應用上,同時穿插介紹如何透過搜索引擎優化提升網站能見度。透過即時互動式的直播教學,加上 ChatGPT 的輔助,您將學習到如何建立一個結構優良、美觀且符合 SEO 標準的網站。這不僅會提升網站的用戶體驗,還會大幅提高網站的搜索引擎排名,進而增加訪客流量和潛在客戶。
用AI強化職場競爭力 ChatGPT、Midjourney從入門到精通

用AI強化職場競爭力 ChatGPT、Midjourney從入門到精通

在快速變遷的職場中,提升競爭力成為關鍵。透過引領潮流的AI技術,ChatGPT和Midjourney將助您勇攀高峰。無論您是AI新手還是專家,這個課程將引導您從入門到精通,解密AI的奧秘,並學習如何運用於職場。
GitHub Copilot AI 程式碼編輯工具應用實務班

GitHub Copilot AI 程式碼編輯工具應用實務班

讓學員瞭解有效地使用該工具來加速開發流程、提高程式碼品質和生產力。課程重點放在以 JavaScript 程式語言為例,介紹 Copilot 的基本原理、使用方法和最佳實踐。

輸入折扣碼 TC1456JA 還可以額外獲得 NT$500 優惠喔。

ChatGPT X Clipchamp AI 生成影片、配音與字幕應用實戰班

ChatGPT X Clipchamp AI 生成影片、配音與字幕應用實戰班

掌握Clipchamp AI的操作技巧,靈活運用Clipchamp AI進行影片編輯和創作,實現創意表達和傳播目的。

輸入折扣碼 TC1451JAN 還可以額外獲得 NT$500 優惠喔。

如何串接多種數位工具資訊?Looker Studio 資料視覺化實戰班|GoogleAds x FB廣告 x GA流量數據

如何串接多種數位工具資訊?Looker Studio 資料視覺化實戰班|GoogleAds x FB廣告 x GA流量數據

Looker Studio除了可協助使用者監控網站流量、廣告成效、選擇匯入資源的管道之外,還可以將數據資料多平台整合、數據報表即時更新、數據範本可重複套用的效益,透過自動化系統,將數據全部匯入同一個報表平台,是企業不可或缺的重要工具。

輸入折扣碼 TC1270JIA 還可以額外獲得 NT$500 優惠喔。

和我們交流

加入我們的社群,裡面會有一些技術的內容、有趣的技術梗,以及職缺的分享,歡迎和我們一起討論。