在使用nginx+uwsgi运行python程序时,上传一个大文件,提示413 Request Entity Too Large错误,从字面上的意思可以容易看出是上传的文件过大,应当是有参数可以配置上传文件的大小。于是搜索相应的解决办法,在nginx中可以通过client_max_body_size来设置上传的文件大小。
location / { client_max_body_size 1024m; ..... }
其中1024m表示1G的意思,设置完成之后,检查下配置是否OK
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
然后重新启动nginx
$ kill -HUP nginx进程编号
但是重新启动后没有效果,上传大点的文件还是不行。非常纳闷,难道重新启动没有效果。查了下HUP的含义,最后在unix环境高级编程的237页中找到了相应的说明:SIGHUP 通常用此信号通知守护进程,以重新读取它们的配置文件。当然是否接受该信号以及接收到信号后的处理方式是由进程自身决定的。
最后我是直接使用kill -9杀死nginx进程,然后再启动nginx,最后问题就解决了。
小结
虽然最后还是没有搞明白为什么kill -HUP没能重新加载配置,不过还是了解了不少新知识。