Ubuntu下Nginx部署PHP項目出現404錯誤如何解決?

Ubuntu下Nginx部署PHP項目出現404錯誤如何解決?

ubuntu系統中使用nginx部署php項目時,404錯誤是一個常見問題。本文將分析一個案例,并提供有效的解決方案。該案例中,開發者在8088端口部署項目時,所有接口均返回404,即使修改配置文件也未能解決。

開發者提供的Nginx配置文件片段顯示其嘗試在80端口部署,與問題描述中的8088端口不符。配置文件的核心問題在于PHP處理配置。

正確配置的關鍵在于location塊和fastcgi指令。以下是一個修正后的配置文件示例:

server {     listen       80; #  需根據實際情況修改為8088     server_name  www.h5fiction1.com;     root         "D:/project/h5_fiction_1/public"; #  確保路徑正確指向項目public目錄      location / {         index       index.html index.htm index.php;         #autoindex  on;         if (!-e $request_filename) {             rewrite     ^(.*)$  /index.php?s=/$1  last;             break;         }     }      location ~ .php(.*)$ {         fastcgi_pass   127.0.0.1:9000; #  確保PHP-FPM監聽此端口         fastcgi_index  index.php;         fastcgi_split_path_info  ^((?U).+.php)(/?.+)$;         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;         fastcgi_param  PATH_INFO       $fastcgi_path_info;         fastcgi_param  PATH_TRANSLATED $document_root$fastcgi_path_info;         include        fastcgi_params;     } }

關鍵點:

立即學習PHP免費學習筆記(深入)”;

  • root指令: 必須準確指向你的PHP項目public目錄(包含index.php)。
  • fastcgi_pass指令: 指向PHP-FPM監聽的地址和端口(通常是127.0.0.1:9000,但需根據實際情況調整)。
  • rewrite指令: 如果你的項目使用如thinkphp6等框架并有路由規則,則可能需要調整此指令以匹配你的路由。
  • 端口號: listen指令中的端口號必須與實際監聽端口一致(80或8088)。
  • PHP-FPM: 確保PHP-FPM已正確安裝和啟動。

如果問題依然存在,檢查PHP-FPM日志文件獲取更多錯誤信息。仔細核對配置文件中的路徑和端口設置,確保與項目結構和PHP-FPM配置匹配。

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享