Назад | Перейти на главную страницу

NGINX 1.1.3.3/Debian 8 - выборочная установка, client_temp - это файл, а не каталог

Я столкнулся со странной проблемой. У меня есть настроенная и скомпилированная версия NGINX (я хотел установить пару дополнительных модулей времени компиляции). По какой-то причине он создает client_temp как файл, а не каталог, и это вызывает внутреннюю ошибку сервера 500 всякий раз, когда я пытаюсь загрузить файл.

Моя конфигурация:

--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: --http-client-body-temp-path=/var/cache/nginx/client_temp, но это файл, а не каталог.

Мне нужно вручную создавать client_temp как каталог и удалить файл? Или есть другой способ исправить ситуацию?

В этих случаях иногда проще / лучше создать client_temp каталог сначала и установите его разрешения / владение, и затем запустить сервис Nginx. Это гарантирует, что папка существует и ее права доступа подходят для приема загруженных файлов.