nginx+php 出現404錯誤解決方法
裝好 nginx-1.0.5 與 php-5.3.6(php-fpm) 迫不及待的測試 info.php(<?php phpinfo(); ?>),但是隻返回了空白頁,什麼也沒有輸出,以下是錯誤日誌。
192.168.6.82 - - [01/Aug/2011:13:54:20 +0800] "GET /info.php HTTP/1.1" 404 5 "-" "Mozilla/5.0(X11; U; Linux x86_64; zh-CN; rv:1.9.2.9) Gecko/20100827 Red Hat/3.6.9-2.el6 Firefox/3.6.9"
192.168.6.82 - - [01/Aug/2011:14:57:30 +0800] "HEAD /info.php
192.168.6.82 - - [01/Aug/2011:13:58:57 +0800] "GET /index.html HTTP/1.1" 200 151 "-" "Mozilla/5.0(X11; U; Linux x86_64; zh-CN;
rv:1.9.2.9) Gecko/20100827 Red Hat/3.6.9-2.el6 Firefox/3.6.9"
分析
1 使用firefox 瀏覽 http://192.168.5.87/info.php 測試頁返回空白頁,什麼都沒有。
2 使用curl 測試 http://192.168.5.87/info.php 測試頁提示404沒找到。
# curl -I http://192.168.5.87/info.php
HTTP/1.1 404 Not Found
Server: nginx/1.0.5
Date: Mon, 01 Aug 2011 06:54:46 GMT
Content-Type: text/html
Connection: keep-alive
X-Powered-By: PHP/5.3.6
3 使用firefox 瀏覽 http://192.168.5.87/index.html
4 靜態頁面的index.html 是可以訪問的,而動態的info.php確是404 找不到,為什麼會這樣那?index.html 檔案目錄是nginx預設安裝目錄 /usr/local/nginx/html,而
info.php 我把它放到了 /data/web 下 是不是這個原因 ?看下nginx.conf配置文件
server {
listen 80;
server_name localhost;
location / {
index index.html index.htm;
root html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
}
過程
嘗試更改下
location ~ \.php$ {
root /data/web;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
nginx -t && nginx -s reload
測試訪問仍然不行
再次更改
location ~ \.php$ {
root /data/web;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/web$fastcgi_script_name;
include fastcgi_params;
}
nginx -t && nginx -s reload
測試一下
[root@me zongm]# curl -I http://192.168.5.87/info.php
HTTP/1.1 200 OK
Server: nginx/1.0.5
Date: Mon, 01 Aug 2011 08:34:17 GMT
Content-Type: text/html
Connection: keep-alive
X-Powered-By: PHP/5.3.6
firefox 測試ok!
總結
問題還是在配置文件上,估計不少朋友會遇到php 輸出空白頁什麼也不顯示,
主要是nginx 的 root 指令 或者 fastcgi_param 指令 配置出了問題詳細的文件請參考這裡!
再看下nginx.conf配置文件,
server{
location / {
index index.html index.htm;
root html;
}
location = /50x.html {
root html
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
}
1 發現除了location ~ \.php$以外,每個location 下都有個root 指令用於載入web檔案根目錄,預設都是 /usr/local/nginx/html,第一個錯誤是沒有在 location ~ \.php$ 新增web檔案根目錄
root /data/web;
或者在server 欄位下加入一個 root 例如
server {
.........
root /data/web;
.........
}
2 參考這裡知道了 PHP使用fastcgi_param 指令的 SCRIPT_FILENAME引數決定需要執行哪個指令碼,所以這個位置也要改成
fastcgi_param SCRIPT_FILENAME /data/web$fastcgi_script_name;
相關推薦
nginx+php 出現404錯誤解決方法
裝好 nginx-1.0.5 與 php-5.3.6(php-fpm) 迫不及待的測試 info.php(<?php phpinfo(); ?>),但是隻返回了空白頁,什麼也沒有輸出,以下是錯誤日誌。 192.168.6.82 - - [01/Aug/2011:13:54:20 +0800
TP5框架在nginx環境下路由報404錯誤解決方法 親測可用
前段時間給客戶寫了個TP5框架的後臺,主要是API呼叫,上傳到客戶伺服器後發現首頁可用,但所有內頁報404錯誤,網上一搜發現天多一樣的問題,但找了很多都是不可用的,而且都是過時的,但最終還是自己試出來了,今天貼下,親測可用。 寶塔面板windows-5.4.0+Ngin
tp5 url 線上訪問 在nginx 上 出現404錯誤,解決辦法(1.80nginx 配置 pathInfo)
對於ThinkPHP的URL訪問路勁如:http://域名/index.php/Index/BlogTest/read,原先的Nginx的是不支援的pathinfo路勁的,導致你在thinkPHP5上面測試的時候,輸入相應的URL也不會提示模組名,控制器名或者方法名錯誤,而
windows 10 服務組件安裝出現0x80070422錯誤解決方法
自動更新 功能 無法 class 禁用 面板 code date 提示 問題描述: windows 10通過控制面板->程序->啟用或關閉Windows 功能安裝Windows服務或組件時,出現0x80070422錯誤,提示服務禁止或未啟用 問題產生原因:
mysql8 出現1521錯誤解決方法
pri pass exp tex 方法 ims mic any ping ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘password‘ PASSWORD EXPIRE NEVER; #修改加密規則 ALTER USER ‘ro
mysql初次安裝出現1067錯誤解決方法
我的mysql版本是5.6.12,解壓後,按網上說的建立my.ini檔案,如同你那樣。也遇到你所遇到的問題,找不到答案,快瘋了。 後來想想,為什麼不要自帶的my-default.ini呢。於是去掉my-default.ini 中#註釋的配置。 cmd下執行: mysqld.
經驗之談:nginx php 502 bad gateway 解決方法
今天在使用nginx時發現執行php頁面會提示502 bad gateway這類錯誤了,下面我根據各位群友提供的一些方法完美的解決了502 bad gateway問題。 訪問phpMyAdmin時,出現下面錯誤。 phpMyAdmin – Error Cannot start session wit
win7 x64下安裝 KB958559 出現 0x80240037 錯誤解決方法(win7 x64 安裝VB6、Media Studio 8)
想在win7 X64下執行以前的一些32位程式,比如 VB6 、Media Studio Pro 8 等好用的軟體,之前在win7 x86下還勉強能安裝執行,但是 win7 x64 下是直接連安裝都安裝不了了,以前也用虛擬機器,但是暫時沒這想法,於是查了一下,發現MS已經推出了一個用於win7的
關於navicat連線mysq出現如下錯誤解決方法
Navicat Premium 12系列 連線MySQL資料庫時會出現Authentication plugin ‘caching_sha2_password’ cannot be loaded的錯誤: 解決方法: 首先通過命令列進入mysql,依次輸入以下命令: ALTER US
win8 上安裝SVN時出現2503錯誤解決方法
在win8上安裝SVN客戶端時會出現2503的錯誤,其實是許可權不夠 解決辦法: 1、點選視窗鍵 2、鍵盤輸入“cmd” 3、在查詢出來的應用中,選擇命令列提示,點選選擇以管理員身份執行 4、在命令列視窗輸入命令: msiexec /package “svn安裝
navicat MySQL 匯出資料時出現1577錯誤解決方法
問題描述: Navicat for MySQL匯出任何一個數據庫,都會提示:1577 – Cannot proceed because system tables used by Event Scheduler where found damaged at server s
微信小程式 the server responded with a status of 404 錯誤解決方法
微信小程式開發,剛剛接觸這個小程式,遇到了題目中的問題,也就是在WXSS中無法使用background-image這個功能 後來經過各種查終於找到了解決方法。 首先官方給的說明是:background-image:可以使用網路圖片,或者 base64,或者使用<im
IAR編譯STM32F107的例子出現 "__DSB"錯誤解決方法
今天用IAR編譯STM32F107的例子出現如下錯誤 Error[Ta041]: Cannot call intrinsic function "__DSB" in this architecture. G:\SD READER\core_cm3.h 1724 是因為I
Keil MDK5專案建立步驟及可能出現的錯誤解決方法
一、專案建立步驟首先我們要建立自己的專案資料夾,在這裡我在電腦中建立了“STM32-project”在這其中建立了例項資料夾”example“,然後在example資料夾新建了“USER”資料夾用作存放使用者程式碼如“main”等。好了專案資料夾就基本建立好了接下來使用KEI
mysql出現10061錯誤解決方法
首先要關閉MYSQL服務 關閉你現在正在執行的mysql資料庫,用結束mysql程序或者直接關閉mysql伺服器都可以 1.開始選單->執行(cmd)->尋徑到MySQL檔案中的bin目錄下 如:D:\MySQL\mysql-5.6.24-win32\bi
centos使用vim命令出現E325錯誤解決方法
在linux使用vim命令編輯檔案有時候會出現E325的錯誤,如下面截圖: 出現該問題的原因是:vim在編輯檔案的時候會建立一個swp file來保證檔案的安全性,如果沒有正常退出vim的,下次開啟這個檔案就會報E325的錯誤,提示你swp檔案已經存在。
應用程式中嵌入的網頁執行時出現“指令碼錯誤”解決方法
CComPtr<IWebBrowser2> pWB2; HRESULT hr; hr = m_wndIE.QueryControl(&pWB2); if (pWB2) { CComVariant v; CComBSTR url(
Perl中DBI、DBD::mysql模組的安裝和可能出現的錯誤解決方法
使用的軟體版本 DBI-1.604.tar.gz DBD-mysql-4.006.tar.gz 建議使用以上版本搭配,否則可能連線mysql錯誤 一、DBI的安裝 wget http://www.cpan.org/modules/by-module/DBD/DBI-
【Python】使用pip install時出現UnicodeDecodeError錯誤解決方法
今天在公司的win7 電腦上在配置好Python並安裝上pip後,打算用pip安裝一些常用包。但是安裝包的時候出現了錯誤,是在之前電腦上都沒有出現的。然後網上查詢知道了原因。是編碼問題 看最後的報錯資訊,這個一般都是從開始追溯資訊源: UnicodeDecodeErro
Win7下安裝和解除安裝Oracle10g時出現的錯誤解決方法
錯誤現象: 在Win7下安裝了32位的Oracle10.2.0.1.0,想安裝一個64位的Oracle10g。在使用Universal Installer解除安裝時出現了錯誤提示:www.2cto.com “程式異常終止”。發生內部錯誤。請將以下檔案提供給Oracle技術支