nginx文件上传遇到的意外问题

团队成员反馈nginx使用PHP进行文件上传大文件时,浏览器在极短的时间直接报断开连接.调整了php.ini的post_max_size,upload_max_filesize属性增容。对nginx的client_max_body_size属性进行增容.都未能解决。接下来进行排查。。也多亏了网络上的文章

首先浏览器直接断开连接,这种情况下很不正常,短时间断开连接肯定不是网络超时所以从访问的第一个入口Nginx开始排查。

Nginx设置中设置了error_log /home/wwwlogs/nginx_logs.log error;

根据日志找到了一个错误信息

worker process 13666 exited on signal 11

一个nginx程序因为信号11停止掉了

根据网上搜索到的signal 信号列表可以表示,
11) SIGSEGV (段越界)当进程尝试访问不属于自己的内存空间导致内存错误时,终止进程

类似于windows的 非法操作错误提示

根据网上教程继续查询,使用dmesg命令,在输出末尾出现类似下边这种的提示.

nginx[13666]: segfault at 359 ip 000000000043f2b6 sp 00007fff7071ef40 error 4 in nginx[400000+94b000]

而经过网上查询.这例提示也是表示内存操作问题导致的程序退出.

根据网上的教程,可以通过gdb(全称GNU Debugge)对core文件进行调试,但是要重新编译nginx的debug版.

但是因为nginx一直使用的是公共版本.未安装任何自己的第三方组件.所以先尝试升级nginx版本,从1.7.8升级为1.8.0问题解决

你可能感兴趣的:(nginx文件上传遇到的意外问题)