nginx 上传 文件超时设置_nginx限制上传大小和超时时间设置说明/php限制上传大小...
現(xiàn)象說明:
在服務器上部署了一套后臺環(huán)境,使用的是nginx反向代理tomcat架構(gòu),在后臺里上傳一個70M的視頻文件,上傳到一半就失效了!
原因是nginx配置里限制了上傳文件的大小
client_max_body_size:這個參數(shù)的設(shè)置限制了上傳文件的大小,可以在http、server、location三個區(qū)域里配置
另外,tomcat的server.xml配置文件中的connectionTimeout超時時間也可以適當調(diào)大點,默認是20000,可以改成60000.
-----------------
注意一點:
keepalive_timeout這個是nginx里關(guān)于http連接超時的一個設(shè)置,功能是使客戶端到服務器端的連接在設(shè)定的時間內(nèi)持續(xù)有效,當出現(xiàn)對服務器的后繼請求時,該功能避免了建立或者重新建立連接。切記這個參數(shù)也不能設(shè)置過大!
因為客戶端接口訪問其實是一個比較快速的過程,訪問完成了就不需要繼續(xù)使用http連接了,如果將該參數(shù)值設(shè)置過大,就會導致接口訪問完成后http連接并沒有被釋放掉,所以導致連接數(shù)越來越大,最終nginx崩潰!
如果http連接數(shù)過大時,超過了nginx里對于連接數(shù)的配置,比如“worker_connections 65535”,那么對應的nginx報錯日志里會有信息:(socket() failed (24: Too many open files) while connecting to upstream)時不時的出現(xiàn)。
所以,要嚴格控制keepalive_timeout超時時間的設(shè)置,調(diào)大點的話,就會導致許多無效的http連接占據(jù)著nginx的連接數(shù)。
總之:
keepalive_timeout參數(shù),對于提供靜態(tài)內(nèi)容的網(wǎng)站來說,這個功能通常是很有用的;
但是對于負擔較重的網(wǎng)站來說,存在一個問題:雖然為客戶保留打開的連接有一定的好處,但它同樣影響了性能,因為在處理暫停期間,本來可以釋放的資源仍舊被占用。當Web服務器和應用服務器在同一臺機器上運行時,該功能對資源利用的影響尤其突出。
優(yōu)點是:在請求大量小文件的時候,長連接的有效使用可以減少重建連接的開銷.
缺點是:當長連接時間過長,比如60s,即使是瀏覽器沒有任何請求,服務器仍然會維護著該瀏覽器的連接,一旦用戶很多,對apache而言,就是需要維護大量的空閑進程.而對使用線程的輕量級web服務器如nginx,會由于超時時間過長而使資源無效占有而引發(fā)的損失,已超過了由于重復連接而造成的損失..
------------------------------------------
另外補充下php配置里對上傳大小的限制:
打開php.ini 文件中,主要修改以下幾個參數(shù)
;This sets the maximum amount of memory in bytes that a script is allowed to allocate
memory_limit?= 32M
;The maximum size of an uploaded file.
upload_max_filesize?= 8M
;Sets max size of post data allowed. This setting also affects file upload. To upload large files, this value must be larger than upload_max_filesize
post_max_size?= 16M
總結(jié)
以上是生活随笔為你收集整理的nginx 上传 文件超时设置_nginx限制上传大小和超时时间设置说明/php限制上传大小...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java如何打logo,利用java给网
- 下一篇: php实现鼠标悬停显示下拉菜单,Html