NGINX 1.1.3.3 / Debian 8 – 自定义安装,client_temp文件而不是目录

我遇到了一个奇怪的问题。 我有一个自定义的configuration和编译版本的NGINX(我想安装几个额外的编译时间模块)。 无论什么原因,它创buildclient_temp作为一个文件,而不是一个目录,每当我尝试上传一个文件,这导致500内部服务器错误。

我的configuration:

 --prefix=/opt/nginx --sbin-path=/usr/local/sbin/nginx --conf-path=/opt/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=www-data --group=www-data --with-http_ssl_module --with-http_realip_module --with-http_gunzip_module --with-http_gzip_static_module --with-threads --with-file-aio --with-ipv6 --with-http_v2_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=native' --add-module=../ngx_cache_purge-2.3 --add-module=../headers-more-nginx-module --add-module=../ModSecurity-nginx 

正如你所看到的,我确实为client_temp指定了一个path:– --http-client-body-temp-path=/var/cache/nginx/client_temp ,但它是一个文件而不是目录。

我是否需要手动创buildclient_temp作为目录并删除文件? 还是有另一种方法来纠正这种情况?

在这种情况下,首先创buildclient_temp目录,然后设置其权限/所有权, 然后启动Nginx服务会更容易/更好。 这将确保该文件夹存在,并且其权限设置适用于接受上传的文件。