表单提交显示服务器错误,解决一个表单提交的 Nginx 502错误

今天执行表单提交时,服务器上报一个502错误

因为表单是提交一篇文章插入数据库,文章内容有30K,本地测试了一下,处理时间在12s以上,也能正常插入,但在生产服务器出现502错误,之前觉得可能是nginx的问题,就加大了fastcgi相关的过期时间,原来为120。

fastcgi_connect_timeout 320;

fastcgi_send_timeout 320;

fastcgi_read_timeout 320;

还是没有成功,于是怀疑是php.ini的问题,可能为php的POST数据量和最大执行时间

max_execution_time = 30

post_max_size = 8M

而提交的数据远不需要这么大的值,问题不在此。于是继续寻找,可能问题出在php-fpm.conf里,php-fpm是管理php-cgi的进程管理器,这里也能定义请求处理的最大时间 request_terminate_timeout

原设置为10

request_terminate_timeout = 10,

改为

request_terminate_timeout = 60,

重启php-fpm:

service php-fpm restart

POST成功!

参考了下面一篇文章,链接在文章结束,里面还列举了其他502错误的情况。

原文描述为

如果主要是在一些post或者数据库操作的时候出现502这种情况,而不是在静态页面操作中常见,那么可以查看一下php-fpm.conf设置中的一项:request_terminate_timeout这个值是max_execution_time,就是fast-cgi的执行脚本时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值