[Nginx] nginx提示:500 Internal Server Error錯誤的解決方法
在高併發連線的情況下,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;
}
還是會出現上面問題,使用
[
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 -lh檢視磁碟佔用情況,nginx所在目錄已佔用100%,我的是這個問題,想辦法釋放空間或掛載更大磁碟)
使用 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 站點開發的,它已經在該站
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“ 檢測之後既然通過了!再之後登入系
Internal Server Error 錯誤解決方法
剛在本機部署了一個WebService測試,瀏覽的時候出現了“HTTP 錯誤 500.19 - Internal Server Error ”錯誤,如下圖: 經過檢查發現是由於先安裝vs2008後安裝iis的緣故,只需重新註冊下AspNet就可以了,具體步驟如下 1 開啟執行,輸入cmd
Nginx (nginx 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 第二種可能,解決另外一部分問題 經過檢查發
500 Internal Server Error錯誤問題解決辦法
這兩天遇見兩次頁面報 500 Internal Server Error錯誤問題,網上找了許多答案都未能解決問題,如圖: 最後找到原因: 本地服務端正常,由於該資料呼叫的是第三方介面,次數第三方介面服務已經停止執行,所有導致此問題。重啟第三方服務介面服務,
500 (Internal Server Error)錯誤解析
今天遇到一個很奇怪的問題。問題起因是,原先我寫了一個小型的網站,突然有一天那臺機器出了問題被重灌了,結果我的小應用就沒了。慶幸的是,我做了備份(看來做備份真是太重要的一件事了)。我將備份的檔案放到了/var/www目錄下,但是介面卻不正常。只有HTML的部分顯示正常,但是涉
Internal Server Error的解決方法
問題描述: 應用程式“JAJY”中的伺服器錯誤 Internet Information Services 7.5 錯誤摘要 HTTP 錯誤 500.24 - Internal Server Error 檢測到在整合的託管管道模式下不適用的 ASP.NET 設定。 詳細錯
Nginx一例 500 internal server ERROR問題的解決
自己樹莓派上面搭了個nginx伺服器的web網站的主頁用了樹狀列表,但是每次都在到樹莓派nginx上訪問時bottom相關的三個png小圖示顯示不了,其他png小圖示都是ok的請求都對;而在本機測試則顯示一點問題也沒有。 修改js和修改伺服器755檔案訪問許可權,都沒用;後
nginx 報500 Internal Server Error
這個問題是其他同事反映過來的,應該說比較罕見,需要同時滿足三種條件才能發生。為了保持神祕,原因暫時不提,不過背景得交待一下。該案例的大概架構就是部署兩個nginx伺服器,nginx1作為普通的web server,nginx2作為反向代理部署在nginx1的後端。出於測試
Tomcat 提示 HTTP Status 500 – Internal Server Error
第一次使用tomcat,出現了錯誤,程式在IDEA上可以正常執行,但手動放入tomcat目錄後就出現錯誤 錯誤資訊: HTTP Status 500 – Internal Server Error Type Exception Report Message Erro
伺服器錯誤:http 錯誤500.19 Internal Server Error 的解決辦法
釋出牛腩新聞系統的時候遇到一個很頭疼的錯誤: 網上查了一些相關資料,大部分都說原因是asp.net的framework版本問題。因此照著說的也重新註冊了一下。 網上一般的資料都是說註冊2.0版本,但是這個需要根據自己的程式來,我用的是V4.0的,所以註冊的時候就應註冊成這
nginx 報 Internal Server Error 錯誤
作業系統為mac,今天遇到特別坑的問題nginx 服務報錯問題 php-fpm 檢查沒問題 nginx 檢查沒問題 mysql 檢查沒問題 最後發現 127.0.0.1 能訪問,
今天也碰到了HTTP 500 Internal server error,終於解決 (關鍵字:HTTP 500 Internal server error ※ [code=CANT_CONNECT_LOOPBACK] )
關鍵字:HTTP 500 - Internal server error [code=CANT_CONNECT_LOOPBACK] Cannot connect due to potential loopback problems 今天用筆記本教
HTTP Status 500 – Internal Server Error
javax servlet line user eat eve ble login getc 明明硬盤中存在users.xml,但是提示:系統找不到指定的路徑。 解決辦法: 設置String的編碼格式 1 realpath = URLDecoder.dec
ajaxfileupload 報錯500 internal server error
spring MVC結構專案 用ajaxfileupload.js 上傳excel 檔案報錯,程式碼本地跑沒問題, 但是測試環境就是不成功,頁面報500 internal server error 。 後端程式沒有進入controller, tomcat 沒有報錯日誌。 前後按照網