2 回答

TA貢獻(xiàn)1946條經(jīng)驗 獲得超3個贊
方法1 (永久調(diào)整)
vi /etc/security/limits.conf
在文件末加上:
* soft
nofile 8192
* hard nofile 20480
同時vi /etc/sysctl.conf末尾添加
fs.file-max=8192
重新啟動,在使用ulimit -n查看的數(shù)已經(jīng)是8192
方法2 (臨時用)
直接在終端輸入 ulimit -n 8192 按回車就ok了
500 Internal Server
Error錯誤補(bǔ)充:
1、硬盤空間滿了
使用 df -k
查看硬盤空間是否滿了。清理硬盤空間就可以解決500錯誤。nginx如果開啟了access log,在不需要的情況下,最好關(guān)閉access log。access
log會占用大量硬盤空間。
2、nginx配置文件錯誤
這里不是指語法錯誤,nginx如果配置文件有語法錯誤,啟動的時候就會提示。當(dāng)配置rewrite的時候,有些規(guī)則處理不當(dāng)會出現(xiàn)500錯誤,請仔細(xì)檢查自己的rewrite規(guī)則。如果配置文件里有些變量設(shè)置不當(dāng),也會出現(xiàn)500錯誤,比如引用了一個沒有值的變量。
3、如果上面的問題都不存在可能是模擬的并發(fā)數(shù)太多了,需要調(diào)整一下nginx.conf的并發(fā)設(shè)置數(shù)
解決方法是:
1 打開/etc/security/limits.conf文件,加上兩句
復(fù)制代碼
代碼如下:
* soft nofile 65535
* hard nofile 65535
2 打開/etc/nginx/nginx.conf
在worker_processes的下面增加一行
復(fù)制代碼
代碼如下:
worker_rlimit_nofile 65535;
3
重新啟動nginx,重新載入設(shè)置
復(fù)制代碼
代碼如下:
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的錯誤日志,也沒有發(fā)現(xiàn)500報錯的情況了。
- 2 回答
- 0 關(guān)注
- 1152 瀏覽
添加回答
舉報