1. 程式人生 > >nginx提示:500 Internal Server Error錯誤

nginx提示:500 Internal Server Error錯誤

在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,重新載入設定

sudo /etc/init.d/nginx restart 重啟後再看nginx的錯誤日誌,也沒有發現500報錯的情況了。 --------------------- 本文來自 從心所願 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/sanbingyutuoniao123/article/details/50403393?utm_source=copy