Ошибка nginx directive is not terminated by ";": забыта точка с запятой
В конце строки перед блоком забыта точка с запятой. Ошибка указывает на строку с открывающей скобкой — точку с запятой нужно поставить строкой выше.
Содержание 9
Что сделать прямо сейчас
- Откройте файл и посмотрите на строку перед строкой из сообщения — шаг 1.
- Поставьте в её конце точку с запятой — шаг 2.
- Проверьте и примените настройки — шаг 3.
Все команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.
Что значит это сообщение
2026/10/09 12:00:00 [emerg] 2345#2345: directive "index" is not terminated by ";" in /etc/nginx/sites-enabled/example.com:8is not terminated by ";" — «не закончена точкой с запятой». nginx читает настройки как текст, где каждая директива кончается ;, а блок начинается с {. Если в конце строки забыть ;, nginx склеит её со следующими строками, пока не встретит ; или {.
index index.html
location / {Здесь у строки index index.html нет точки с запятой. nginx читает дальше и доходит до { в строке location / {. Директива index не может открывать блок, поэтому nginx пишет, что она не закончена. В сообщении — название директивы со строки, где забыта ;, а номер строки — той, где стоит {. Дата, время и номер процесса у вас будут свои. В других сборках nginx та же строка начинается со слов nginx: [emerg].
Шаг 1. Откройте файл на строке выше
Если в сообщении путь начинается с /etc/nginx/sites-enabled/, откройте файл с тем же именем в папке /etc/nginx/sites-available/ — там лежит оригинал, а в sites-enabled только ссылка на него. Как это проверить, написано в разделе «Какой файл открывать». Откройте файл на строке из сообщения:
sudo nano -l +8 /etc/nginx/sites-available/example.comНайдите выше строку, которая начинается с директивы из кавычек, — здесь index. Пустые строки и комментарии между ними не мешают.
Шаг 2. Поставьте точку с запятой
Допишите ; в конец этой строки:
index index.html;
location / {Если сообщение про has no opening "{"
2026/10/09 12:00:00 [emerg] 2345#2345: directive "location" has no opening "{" in /etc/nginx/sites-enabled/example.com:9Обратный случай: после location или server нет открывающей скобки, и nginx дошёл до ; в следующей строке. Проверьте, что строка location /images/ { кончается скобкой {, а не точкой с запятой.
Шаг 3. Проверьте и примените настройки
Сохраните файл: Ctrl+O, Enter, затем Ctrl+X. Проверьте настройки ещё раз командой sudo nginx -t. Когда в ответе будут слова syntax is ok и test is successful, примените их:
sudo systemctl reload nginxЕсли команда ничего не ответила, настройки применены.
Как проверить
sudo nginx -t отвечает syntax is ok и test is successful. Если nginx нашёл следующую ошибку, найдите её в списке ошибок nginx.
Похожие ошибки
| Сообщение | Чем отличается |
|---|---|
| unexpected "}" | Точка с запятой забыта перед } |
| invalid number of arguments | Точка с запятой забыта перед другой директивой |
| invalid parameter "listen" | Точка с запятой забыта в конце строки listen |
Тексты сообщений на этой странице сверены с исходным кодом nginx 1.24.0 — эта версия стоит в Ubuntu 24.04. В других версиях слова могут немного отличаться.
Источники
- Исходный код nginx 1.24.0: ngx_conf_file.c — как nginx читает файл настроек и тексты ошибок.
Сверено 9–10 октября 2026 года.
Что почитать дальше
- Все ошибки nginx.
- Как разместить сайт на VPS: шаг 4 — как выглядит файл сайта.
Проверено и обновлено: 10.10.2026