1. 程式人生 > >nginx提示:500 Internal Server Error錯誤的解決方法

nginx提示:500 Internal Server Error錯誤的解決方法

現在越來越多的站點開始用 Nginx ,("engine x") 是一個高效能的 HTTP 和反向代理伺服器,也是一個 IMAP/POP3/SMTP 代理伺服器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,它已經在該站點執行超過兩年半了。Igor 將原始碼以類BSD許可證的形式釋出。

在高併發連線的情況下,Nginx是Apache伺服器不錯的替代品。Nginx同時也可以作為7層負載均衡伺服器來使用。根據測試結果,Nginx 0.6.31 + PHP 5.2.6 (FastCGI) 可以承受3萬以上的併發連線數,相當於同等環境下Apache的10倍。

但很多人用 Nginx 的時候都會出現 500 錯誤,根據我使用的情況來看,很大一部分原因是 因為檔案開啟控制代碼太小有關。

在linux 下 使用這個命令增加程序開啟的檔案控制代碼。


ulimit -SHn 51200
預設只用1000 當連結數小的時候看不出來,使用這種處理方法可以有效防止500錯誤出現。
今天訪問網站的時候,偶爾會遇上500 Internal Server Error的錯誤提示頁面.
查了相關資料認為是訪問過大,系統核心程序受限才出現的.

答案如下:

$ ulimit -n
11095

程式限制只能開啟11095個檔案,ulimit命令是設定當前使用者一個程序可擁有的檔案描述符的數量.
看來是模擬的併發數太多了,需要調整一下nginx.conf的併發設定數,(我的配置主機的記憶體2G,CPU為2.8G,)

複製程式碼 程式碼如下:
vi /etc/nginx/nginx.conf
events {
worker_connections 1024;
}


調整為
複製程式碼
程式碼如下:
events {
worker_connections 10240;
}


還是會出現上面問題,使用
[[email protected] nginx]# cat /proc/sys/fs/file-max
8192
檔案系統最大可開啟檔案數
[[email protected] nginx]# ulimit -n
1024
程式限制只能開啟1024個檔案
使用[[email protected] nginx]# ulimit -n 8192調整一下
或者永久調整開啟檔案數 可在啟動檔案/etc/rc.d/rc.local末尾新增(在/etc/sysctl.conf末尾新增fs.file-max=8192)
ulimit -n 8192
調整CentOS5檔案開啟數
使用ulimit -a一下,發現OPEN FILES不能預設超過1024,昨天的在進行壓力測試時,出現500錯誤,具體請檢視
nginx出現 500 Internal Server Error
早上起來看一下,發現原來是通過如下方式調整
方法1 (永久調整)

vi /etc/security/limits.conf

在檔案末加上:

* soft nofile 8192
* hard nofile 20480

同時vi /etc/sysctl.conf末尾新增
fs.file-max=8192
重新啟動,在使用ulimit -n檢視的數已經是8192

方法2 (臨時用)

直接在終端輸入 ulimit -n 8192 按回車就ok了

500 Internal Server Error錯誤補充:

1、硬碟空間滿了

使用 df -k 檢視硬碟空間是否滿了。清理硬碟空間就可以解決500錯誤。nginx如果開啟了access log,在不需要的情況下,最好關閉access log。access log會佔用大量硬碟空間。

2、nginx配置檔案錯誤

這裡不是指語法錯誤,nginx如果配置檔案有語法錯誤,啟動的時候就會提示。當配置rewrite的時候,有些規則處理不當會出現500錯誤,請仔細檢查自己的rewrite規則。如果配置檔案裡有些變數設定不當,也會出現500錯誤,比如引用了一個沒有值的變數。

3、如果上面的問題都不存在可能是模擬的併發數太多了,需要調整一下nginx.conf的併發設定數

解決方法是:

1 開啟/etc/security/limits.conf檔案,加上兩句

複製程式碼 程式碼如下:
* soft nofile 65535
* hard nofile 65535


2 開啟/etc/nginx/nginx.conf
在worker_processes的下面增加一行

複製程式碼 程式碼如下: worker_rlimit_nofile 65535;

3 重新啟動nginx,重新載入設定

複製程式碼 程式碼如下: kill -9 `ps -ef | grep php | grep -v grep | awk '{print $2}'`
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 100 -u www-data -f /usr/bin/php-cgi
killall -HUP nginx


重啟後再看nginx的錯誤日誌,也沒有發現500報錯的情況了。


4、有可能是資料庫問題我的在nginx日誌php日誌都沒有發現什麼問題, 最後發現數據庫訪問不了,修正後問題解決.

相關推薦

nginx提示500 Internal Server Error錯誤

在linux 下 使用這個命令增加程序開啟的檔案控制代碼。 ulimit -SHn 51200 預設只用1000 當連結數小的時候看不出來,使用這種處理方法可以有效防止500錯誤出現。 今天訪問網站的時候,偶爾會遇上500 Internal Server Error的錯誤提示

[Nginx] nginx提示500 Internal Server Error錯誤解決方法

現在越來越多的站點開始用 Nginx ,("engine x") 是一個高效能的 HTTP 和反向代理伺服器,也是一個 IMAP/POP3/SMTP 代理伺服器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,它已經在該站點執行超過兩年半了。Igor 將

nginx提示500 Internal Server Error錯誤解決方法

現在越來越多的站點開始用 Nginx ,("engine x") 是一個高效能的 HTTP 和反向代理伺服器,也是一個 IMAP/POP3/SMTP 代理伺服器。 Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,它已經在該站

Internal Server Error 錯誤解決方法

剛在本機部署了一個WebService測試,瀏覽的時候出現了“HTTP 錯誤 500.19 - Internal Server Error ”錯誤,如下圖: 經過檢查發現是由於先安裝vs2008後安裝iis的緣故,只需重新註冊下AspNet就可以了,具體步驟如下 1 開啟執行,輸入cmd

apache Mercurial HTTP Error 500: Internal Server Error問題解決方法

I've been trying to setup mercurial for the last couple of > days and made good progress. I'm able to clone and browse > the reposit

EBS 登入時出現500 Internal Server Error解決方法

記錄一下: 今天DBA所安裝的EBS R12.1.1應用程式無法通過系統最後的檢測階段,安裝提示說明:JSP、Login頁無法通過檢測。 (系統環境比較特殊,資料庫是安裝在實體機上,應用是安裝在虛擬機器上!) 之後DBA又重新“Retry“ 檢測之後既然通過了!再之後登入系

Nginxnginx 500 Internal Server Error錯誤 )error_log is forbidden (13: Permission denied)

ps -ef|grpe nignx  發現啟動nginx 對應的使用者為nginx 修改nginx.conf vim /etc/nginx/nginx.conf 將user nginx; 改為user root;重新啟動nginx即可 (有時候/nginx -s reload 或者 ser

關於IIS伺服器錯誤500 Internal Server Error,/”應用程式中的伺服器錯誤,執行時錯誤

注:大神請忽略! 首先描述一下環境,ASP.NET MVC專案,在本機IIS伺服器部署,本機以及區域網其他機器均可以正常訪問網站,部署到Windows Server 2008伺服器,是不是會遇到錯誤:500 Internal Server Error,如下影象這樣子的!

HTTP 錯誤 500.19 Internal Server Error解決方法

輸入a dpi 編輯 模塊 cfi modules 位置 override 程序 第一種可能,能解決一部分問題 http://wenku.baidu.com/view/c5cb4a08bb68a98271fefa3f.html 第二種可能,解決另外一部分問題 經過檢查發

Nginx一例 500 internal server ERROR問題的解決

自己樹莓派上面搭了個nginx伺服器的web網站的主頁用了樹狀列表,但是每次都在到樹莓派nginx上訪問時bottom相關的三個png小圖示顯示不了,其他png小圖示都是ok的請求都對;而在本機測試則顯示一點問題也沒有。 修改js和修改伺服器755檔案訪問許可權,都沒用;後

500 Internal Server Error錯誤問題解決辦法

       這兩天遇見兩次頁面報 500 Internal Server Error錯誤問題,網上找了許多答案都未能解決問題,如圖: 最後找到原因: 本地服務端正常,由於該資料呼叫的是第三方介面,次數第三方介面服務已經停止執行,所有導致此問題。重啟第三方服務介面服務,

500 (Internal Server Error)錯誤解析

今天遇到一個很奇怪的問題。問題起因是,原先我寫了一個小型的網站,突然有一天那臺機器出了問題被重灌了,結果我的小應用就沒了。慶幸的是,我做了備份(看來做備份真是太重要的一件事了)。我將備份的檔案放到了/var/www目錄下,但是介面卻不正常。只有HTML的部分顯示正常,但是涉

Nginx 提示host not found in upstream 錯誤解決方法

dns設置 1.7 bsp 步驟 訪問 size 實例 n-n 每次 Nginx DNS resolver配置實例,本文講解在proxy_pass 和 upstream server 通信的時候需要手動指定 resolver,本文就給出了配置實例

Internal Server Error解決方法

問題描述: 應用程式“JAJY”中的伺服器錯誤 Internet Information Services 7.5 錯誤摘要 HTTP 錯誤 500.24 - Internal Server Error 檢測到在整合的託管管道模式下不適用的 ASP.NET 設定。 詳細錯

伺服器錯誤http 錯誤500.19 Internal Server Error解決辦法

釋出牛腩新聞系統的時候遇到一個很頭疼的錯誤: 網上查了一些相關資料,大部分都說原因是asp.net的framework版本問題。因此照著說的也重新註冊了一下。 網上一般的資料都是說註冊2.0版本,但是這個需要根據自己的程式來,我用的是V4.0的,所以註冊的時候就應註冊成這

SpringCloud專案,介面呼叫返回http 500 - Internal Server Error錯誤

今天上班的時候,自己正在參與的Spring Cloud專案出現了問題,原本上週五還正常的專案突然所有介面呼叫都是返回http 500的錯誤。 專案的狀態是在Eureka上可以看到對應微服務是線上狀態,然後在Swagger裡面測試介面,發現介面間歇性呼叫失敗,也就是題目中的http 500的錯誤,如下圖。至於

各種HTTP返回錯誤程式碼大全 HTTP 403 Forbidden / 404 Not Found / 500 Internal Server Error / 502 Bad Gateway / 50

現在上網經常發現各種不能訪問的頁面,搜尋引擎裡看的到點開連結卻404了,聰明的你當然知道看搜尋引擎快取頁面啦,但是你是否想知道這些特定的3位數字代表什麼意思呢?那麼請聽我來講解。 什麼200,301,302,400,403,404,500,502,503都是非常常見的數

Tomcat 提示 HTTP Status 500Internal Server Error

第一次使用tomcat,出現了錯誤,程式在IDEA上可以正常執行,但手動放入tomcat目錄後就出現錯誤 錯誤資訊: HTTP Status 500 – Internal Server Error Type Exception Report Message Erro

IIS 7.5, ASP.NET MVC. HTTP Error 500 (Internal Server Error) 但是除錯又不進入後臺,瀏覽器只報500錯誤

Bug如題:         IIS 7.5, ASP.NET MVC. HTTP Error 500 (Internal Server Error)  使用uploadify 上傳圖片時,瀏覽器只報500錯誤,進度條也不動,但是除錯又不進入後臺         找了幾天都

nginx500 Internal Server Error

這個問題是其他同事反映過來的,應該說比較罕見,需要同時滿足三種條件才能發生。為了保持神祕,原因暫時不提,不過背景得交待一下。該案例的大概架構就是部署兩個nginx伺服器,nginx1作為普通的web server,nginx2作為反向代理部署在nginx1的後端。出於測試