如何為 PHP 頁面配置 Nginx

在本文中,我們展示瞭如何在 CentOS 上為 PHP 頁面配置 Nginx。

在本教程中,我們已經安裝了 NGINX。本教程將介紹 NGINX 網絡服務器的基本配置,以處理 PHP 應用程序並在端口 80 上為它們提供服務。建議您學習 NGINX 和 PHP-FPM。

先決條件

  • 安裝了 CentOS 的專用或云服務器。
  • 安裝在 CentOS 上的 NGINX。
  • 安裝了 PHP。
  • SSH 作為 root 用戶(您可以使用具有 sudoer 權限的普通用戶,對每個命令使用“sudo”)。

下面是安裝Nginx安裝PHP的文章

安裝兩者後,打開主要的 PHP-fpm 配置文件:

# vi /etc/php.ini

我們正在尋找設置cgi.fix_pathinfo的參數。我們將通過刪除分號 (;) 並設置為 0 來取消註釋。

這是一個極其不安全的設置,因為它告訴 PHP 在 PHP 文件不完全匹配時嘗試執行它可以找到的最接近的文件。這基本上將允許用戶以允許他們執行不應被允許執行的腳本的方式製作 PHP 請求。

因此,我們將通過取消註釋該行並將其設置為“0”來更改這兩個條件,如下所示:

cgi.fix_pathinfo=0

完成後,保存並退出。

接下來,重啟 php-fpm 服務:

# systemctl restart php-fpm

配置 Nginx 服務器塊以使用 PHP 處理器

# vi /etc/nginx/sites-available/default

注意:服務器塊文件名可能與上圖不同。

Ngnix 的默認服務器塊可能如下所示:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.html index.htm;

server_name localhost;

location / {
try_files $uri $uri/ =404;
}
}

  • 這裡我們需要添加一個 index.php 索引指令,以允許在請求目錄時提供 PHP 文件。
  • 修改 server_name 指令。將 localhost 替換為您的 FQDN 域名或公共 IP 地址。
  • 添加 try_files 指令以確保 Nginx 不會將錯誤請求傳遞給我們的 PHP 處理器。

服務器塊看起來像:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.php index.html index.htm;

server_name server_domain_name_or_IP;

location / {
try_files $uri $uri/ =404;
}

error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

配置如上更改,現在保存並退出文件。

重新啟動 Ngnix 以進行必要的更改:

# systemctl restart nginx

現在,創建一個 PHP 測試文件:

# vi /usr/share/nginx/html/info.php

添加返回有關我們服務器的格式化信息的有效 PHP 代碼:

<>
phpinfo();
?>

保存並退出。

就是這樣,我們已經完成了所需的配置和修改。

最後,讓我們訪問之前創建的 info.php 文件:

https://server_domain_name_or_IP/info.php

您應該會看到一個由 PHP 生成的網頁,其中包含有關您的服務器的信息。

如果看到 PHP 生成的 PHP 信息頁面,則表示您已經成功設置了 Nginx 的 PHP 處理。

現在,通過鍵入以下內容刪除文件:

sudo rm /usr/share/nginx/html/info.php

在本文中,我們看到了我們的支持工程師如何為 PHP 頁面配置 Nginx。


如何在 WordPress 5.0 中禁用塊編輯器並安裝經典編輯器

如何在 WordPress 5.0 中禁用塊編輯器並安裝經典編輯器

從 WordPress 5.0 開始,WordPress 上的默認編輯器是新的塊編輯器。新編輯器完全不同

導入WordPress數據庫時如何修復“utf8mb4_0900_ai_ci”排序錯誤

導入WordPress數據庫時如何修復“utf8mb4_0900_ai_ci”排序錯誤

如果您將 WordPress 安裝從 MySQL 8 服務器切換到 MySQL 5.7(或更低版本),您很可能會遇到

🔧 修復:您的 PHP 安裝似乎缺少 WordPress 所需的 MySQL 擴展

🔧 修復:您的 PHP 安裝似乎缺少 WordPress 所需的 MySQL 擴展

想要運行一個自我管理的 WordPress 網站?偉大的。你會學到無數的東西。設置的關鍵部分之一

如何將經典編輯器設置為 WordPress 中的默認編輯器而不是古騰堡

如何將經典編輯器設置為 WordPress 中的默認編輯器而不是古騰堡

古騰堡編輯器很快將成為 WordPress 的默認編輯器。您可以選擇經典編輯器

如何修復 WordPress 5.0 問題

如何修復 WordPress 5.0 問題

WordPress 5.0 終於推出了,它為古騰堡帶來了全新的編輯體驗

如何在 Windows 11 中刷新文件夾項目

如何在 Windows 11 中刷新文件夾項目

由於缺少上下文菜單中的刷新選項,以下是如何在 Windows 11 上的文件資源管理器中刷新項目。

修復:更新後 WordPress 中的“編輯器遇到意外錯誤”

修復:更新後 WordPress 中的“編輯器遇到意外錯誤”

無法使用 WordPress 中的新塊編輯器撰寫新帖子?你很有可能得到“編輯

如何啟用 PHP 短標籤

如何啟用 PHP 短標籤

在本文中,我們介紹瞭如何啟用 PHP 短標籤。PHP 使用開始和結束標記解析文件,它們看起來像 . 啟用 PHP 短標籤

配置 mod_evasive 以防止 CentOS 上的 DoS 和 DDoS 攻擊

配置 mod_evasive 以防止 CentOS 上的 DoS 和 DDoS 攻擊

在本文中,我們將學習如何安裝和配置 mod_evasive 以防止 CentOS 上的 DoS 和 DDoS 攻擊。mod_evasive Apache 模塊。

如何在 CentOS 上使用 PHP-FPM 為 NGINX 安裝 PHP

如何在 CentOS 上使用 PHP-FPM 為 NGINX 安裝 PHP

如何在 CentOS 上為 NGINX 安裝 PHP 和 PHP-FPM。NGINX 網絡服務器的基本配置,用於處理 PHP 應用程序並在端口 80 上為它們提供服務。