搜索

首页  >  问答  >  正文

(Linux + Nginx+ MySQL+ PHP+ Apache)post 出现500错误

服务器安装使用的是oneinstack一键安装包,lnmpa(Linux + Nginx+ MySQL+ PHP+ Apache)https://oneinstack.com/

程序运行的是discuz3.2, http://www.liuxuesheng8.com/

在发表新帖子,提交时,出现错误,提示:

This page isn’t working

bbs.liuxuesheng8.com is currently unable to handle this request.
HTTP ERROR 500

但是内容确实已经写到数据库里,只是卡在上面图片所示页面,重新打开网站页面,发表的新帖子已经提交,很是奇怪。
然后查看服务器日志,只是在access_log里面出现,post 500错误,而在apache里面和openresty的日志里面都没有相应的错误日志,这种情况下在哪里查找500原因呢???

 - - [29/Apr/2017:18:27:03 +0800] "POST /forum.php?mod=post&action=newthread&fid=70&extra=&topicsubmit=yes HTTP/1.0" 500 -

phpcn_u1582phpcn_u15822738 天前1503

全部回复(4)我来回复

  • ringa_lee

    ringa_lee2017-05-16 13:08:00

    显然你这个错误是跟nginx相关的。

    nginx出现500,一般有以下几种情况:

    1. 硬盘空间满了(df -lh查看磁盘占用情况,nginx所在目录已占用100%)。nginx如果开启了access log,在不需要的情况下,最好关闭access log。access log会占用大量硬盘空间。

    2. nginx配置文件错误
      配置rewrite的时候,有些规则处理不当会出现500错误,检查下自己的rewrite规则。如果配置文件里有些变量设置不当,也会出现500错误,比如引用了一个没有值的变量。

    3. 并发问题,服务器扛不住
      文件打开句柄太小,在做服务器并发测试的时候,因为服务器压力大,我们经常看到一部分请求是500,那么原因就是nginx可以使用的文件句柄太小,每个请求都会占用一个句柄。

    回复
    0
  • 某草草

    某草草2017-05-16 13:08:00

    打开apache和php的错误输出。

    回复
    0
  • 天蓬老师

    天蓬老师2017-05-16 13:08:00

    apache, nginx, php错误日志里面,没有与这个post500错误相关的,,,很奇怪

    3楼说的有可能

    因为配置了rewrite功能,有时候,打开帖子,rewrite不起效,还是动态网页,再次点击这个链接后,rewrite才起效。。。我猜想的原因是在post提交后,链接要rewrite,而此时服务器不能rewrite,从而卡在了相应的页面上,但数据是已经写到了数据库中的

    回复
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 13:08:00

    php 代码可能有报错,但又没有配置错误输出也会报500错误。可以试一下修改配置将php报错以log的方式输出。

    回复
    0
  • 取消回复