伺服器安裝使用的是oneinstack一鍵安裝套件,lnmpa(Linux + Nginx+ MySQL+ PHP+ Apache)https://oneinstack.com/
程式運行的是discuz3.2, http://www.liuxuesheng8.com/
在發(fā)表新帖子,提交時,出現(xiàn)錯誤,提示:
This page isn’t working
bbs.liuxuesheng8.com is currently unable to handle this request.
HTTP ERROR 500
但是內(nèi)容確實已經(jīng)寫到資料庫裡,只是卡在上面圖片所示頁面,重新打開網(wǎng)站頁面,發(fā)表的新帖子已經(jīng)提交,很是奇怪。
然後查看伺服器日誌,只是在access_log裡面出現(xiàn),post 500錯誤,而在apache裡面和openresty的日誌裡面都沒有相應(yīng)的錯誤日誌,這種情況下在哪裡查找500原因呢? ? ?
- - [29/Apr/2017:18:27:03 +0800] "POST /forum.php?mod=post&action=newthread&fid=70&extra=&topicsubmit=yes HTTP/1.0" 500 -
顯然你這個錯誤是跟nginx相關(guān)的。
nginx出現(xiàn)500,一般有下列幾種情況:
硬碟空間滿了(df -lh查看磁碟佔用情況,nginx所在目錄已佔用100%)。 nginx如果開啟了access log,在不需要的情況下,最好關(guān)閉access log。 access log會佔用大量硬碟空間。
nginx設(shè)定檔錯誤
設(shè)定rewrite的時候,有些規(guī)則處理不當(dāng)會出現(xiàn)500錯誤,檢查下自己的rewrite規(guī)則。如果設(shè)定檔裡有些變數(shù)設(shè)定不當(dāng),也會出現(xiàn)500錯誤,例如引用了一個沒有值的變數(shù)。
並發(fā)問題,伺服器扛不住
檔案開啟句柄太小,在做伺服器並發(fā)測試的時候,因為伺服器壓力大,我們經(jīng)??吹揭徊糠终埱笫?00,那麼原因就是nginx可以使用的檔案句柄太小,每個請求都會佔用一個句柄。
apache, nginx, php錯誤日誌裡面,沒有與這個post500錯誤相關(guān)的,,,很奇怪
3樓說的有可能
因為配置了rewrite功能,有時候,打開帖子,rewrite不起效,還是動態(tài)網(wǎng)頁,再次點擊這個連結(jié)後,rewrite才起效。 。 。我猜想的原因是在post提交後,連結(jié)要rewrite,而此時伺服器不能rewrite,從而卡在了對應(yīng)的頁面上,但資料是已經(jīng)寫到了資料庫中的