需求:
近期要做大文件上傳功能,除了修改前端框架上傳控件jQuery Uploadify的上傳文件限制大小和Spring MVC框架配置的文件上傳模塊中的MultipartResolver中的文件上傳限制大小,還需要去修改Nginx服務(wù)器中conf目錄下的nginx.conf配置文件中的client_max_body_size屬性以及Tomcat服務(wù)器中conf目錄下的server.xml配置文件中的connectionTimeout屬性、maxPostSize屬性,以上內(nèi)容就是我做的修改。
問題:
先是修改Nginx服務(wù)器和Tomcat服務(wù)器的配置,重啟Nginx服務(wù)器,再是修改頁(yè)面和代碼后重新部署和運(yùn)行,然后在頁(yè)面進(jìn)行大文件上傳操作,然后提交保存都出現(xiàn)了問題,自己懷疑可能是大文件保存出現(xiàn)了問題,忙著去查看服務(wù)器上的日志,接著同事又說(shuō)文件刪除功能失效,接下來(lái)又有同事說(shuō)網(wǎng)站登錄不上了,輸入正確的驗(yàn)證碼后報(bào)錯(cuò)說(shuō)是驗(yàn)證碼登錄過期,,,,各種問題接踵而至,看了半天的服務(wù)器日志沒有發(fā)現(xiàn)問題,還是自己看的不仔細(xì),也沒有定位到問題出現(xiàn)在哪里。
排查:
無(wú)奈去請(qǐng)求大牛,先是問我修改了哪些東西,我說(shuō)Nginx服務(wù)器和Tomcat服務(wù)器的配置我都修改了,大??戳薒inux上的Nginx服務(wù)器的配置文件和Tomcat服務(wù)器的server.xml配置文件,回頭問我maxPostSize=“0”屬性的配置是什么意思,我說(shuō)是HTTP的POST請(qǐng)求下的body大小不做限制,如果不設(shè)置的話,缺省的情況下是maxPostSize=“2097152”,也就是2M的大小,因?yàn)閱挝皇荁yte。大牛接著去查看了相關(guān)資料,得知可能是Tomcat版本帶來(lái)的問題,不同的Tomcat版本maxPostSize屬性設(shè)置的可能有差異,知道了問題所在,那么就去著手進(jìn)行配置了。
解決:
百度了下Tomcat maxPostSize這兩個(gè)關(guān)鍵詞,很幸運(yùn)的是第一條就是關(guān)于Tomcat不同版本的maxPostSize的設(shè)置,
這篇博客內(nèi)容
看了這篇博客,接著去查看Linux下的項(xiàng)目使用的統(tǒng)一的Tomcat版本,使用的版本是Tomcat 7.0.70,接著看這篇文章你還能說(shuō)什么,改唄,將屬性maxPostSize修改為-1,代表不限制,重啟Tomcat服務(wù)器,重新登錄網(wǎng)站和以上出現(xiàn)的問題都沒有了。
附上這個(gè)博主的博客地址:https://www.jb51.net/article/190134.htm
總結(jié):想著昨天出現(xiàn)的這個(gè)問題,今天休息正好可以總結(jié)一下,接著去看Tomcat官網(wǎng)上的相關(guān)文檔,去看下這個(gè)問題。如今Tomcat版本更新很快,很多Tomcat7的版本不再好找,我們可以查看最新的Tomcat7版本信息,打開Tomcat官網(wǎng)后,查看
Documention下的Tomcat7.0
接著查看Reference下的Configuration部分
接著查看Connectors下的HTTP部分,這個(gè)和Tomcat下的conf中的server.xml配置文件的結(jié)構(gòu)有很大的相關(guān)性,只要你很熟悉server.xml配置,那么找到這個(gè)不是問題
查看相關(guān)屬性,我們就會(huì)看到maxPostSize的詳細(xì)介紹,這個(gè)限制必須設(shè)置為小于0的負(fù)數(shù)才能不限制,缺省下是2097152,也就是2M的大小,單位是Byte。
你要知道以上的介紹僅僅是Tomcat 7.0.86版本的信息
那么我們?cè)趺纯碩omcat歷史版本的變化呢,回到剛開始進(jìn)來(lái)的文檔首頁(yè),點(diǎn)擊最下方的Changelog部分,
這里面是Tomcat7所有的歷史版本的變化,我們找到Tomcat 7.0.63版本,可以看到變化的第一項(xiàng)就是關(guān)于maxPost屬性的內(nèi)容,上面的博客的哥們果然是滿滿的干貨,雖然內(nèi)容少,但是一擊必中啊。
通過以上的總結(jié),如果以后出現(xiàn)類似的問題,排查問題的能力要有所提升,自己總結(jié)問題的排查步驟:
- 第一:查看服務(wù)器上的各種日志
- 第二:查看服務(wù)器上的各種配置文件
- 第三:考慮各個(gè)版本的差異,就比如上面的問題,這個(gè)前提是你要知道你修改了哪些配置,增加了哪些配置。
總結(jié)
到此這篇關(guān)于解決Tomcat的maxPostSize屬性的配置需要注意的問題的文章就介紹到這了,更多相關(guān)Tomcat的maxPostSize屬性配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!