nginx: [emerg] BIO_new_file("/etc/letsencrypt/live/site_name/fullchain.pem") не удалось

Если вам нужно обрабатывать только пробелы и табуляции (, а не встроенные символы новой строки ), вы можете использоватьmapfile(или его синонимreadarray)для чтения в массив, например. дано

$ ls -1
file
other file
somefile

, затем

$ IFS= mapfile -t files < <(find. -type f)
$ select f in "${files[@]}"; do ls "$f"; break; done
1)./file
2)./somefile
3)./other file
#? 3
./other file

Если вам действительно нужно обрабатывать новые строки, а ваша bashверсия предоставляет -нуль-разделительmapfile1 , вы можете изменить это на IFS= mapfile -t -d '' files < <(find. -type f -print0). В противном случае соберите эквивалентный массив из вывода findс нулевым разделителем -, используя цикл read:

.
$ touch $'filename\nwith\nnewlines'
$ 
$ files=()
$ while IFS= read -r -d '' f; do files+=("$f"); done < <(find. -type f -print0)
$ 
$ select f in "${files[@]}"; do ls "$f"; break; done
1)./file
2)./somefile
3)./other file
4)./filename
with
newlines
#? 4
./filename?with?newlines

1 опция -dбыла добавлена ​​к mapfileв bashверсии 4.4 iirc

0
15.05.2019, 04:26
1 ответ

Как указано в сообщении об ошибке, nginx использует файл конфигурации /etc/nginx/nginx.conf. Если вы откроете этот файл, вы должны увидеть блок server, подобный этому:

server {
    listen...
    server_name...
   ...
    ssl_certificate     /etc/letsencrypt/live/002.bkit.vn/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/002.bkit.vn/fullchain.key;
   ....
}

По сути, вы ищете блок server, определенный для сайта 002.bkit.vn. Если вы хотите удалить весь сайт из обслуживания, удалите этот блок сервера из файла конфигурации.

После этого вам потребуется перезагрузить процесс nginx, чтобы изменения вступили в силу. Для этого используется команда nginx -s reload. Если вместо этого вы используете службу systemd, команда будет systemctl reload nginx.

2
28.04.2021, 23:33

Теги

Похожие вопросы