nginx 错误调试应该如何处理?

nginx 错误调试一则例子

nginx的日志,有主进程日志和子进程日志之分。主进程就是nginx进程,子进程就是这些worker进程。要调试错误,最好把子进程日志打开。

今天部署fastdfs的时候,能上传图片,访问图片报http 400错误。http400错误就是服务器进程有问题。

由于没有打开子进程日志,访问curl -v    之后程序hang住。没有听错,程序hang住了。

什么问题呢?这个时候把子进程日志打开:

vim nginx_fastdfs_storage.conf 

server {

    listen 8888;

    server_name localhost;

    access_log logs/access.log main;   ##打开日志

    location ~* /(?:app|accsett)/M00/(.+)?__width_([0-9]+)?__height_([0-9]+)?__networkType_(.+)?\.(jpg|jpeg|gif|png|webp) {

           省略。。。。

    }

    location ~/(app|accsett)/M00 {

        ngx_fastdfs_module;

    }

    error_page 500 502 503 www.pizei.com504 /50x.html;

    location = /50x.html {

        root html;

    }

}

 

然后再次访问curl -v   ,发现还是hang住,子进程不见了。同时页游后台报错:

2021/05/20 17:47:34 [notice] 22623#0: signal process started

ngx_http_fastdfs_process_init pid=22647

[2021-05-20 17:47:45] ERROR - file: ../common/fdfs_http_shared.c, line: 153, param "http.mime_types_filename" not exist or is empty

2021/05/20 17:47:45 [alert] 22646#0: worker process 22647 exited with fatal code 2 and cannot be respawned

 

work process 进程崩溃了,导致hang住,有错误。既然有错误日志,就好办了,百度搜索解决了。主要展示是nginx的调试过程

上一篇:FastDFS文件上传


下一篇:FastDFS安装