Я прочитал несколько других ответов на почти тот же вопрос, но они, похоже, не относятся к моему запросу (некоторые из них из-за diff environment и т. Д.).
Я настраиваю новый сервер Ubuntu на DO. На нем я создал файл /etc/nginx/sites-available/3.conf. В этом файле есть только этот код (я пробовал и остальные строки кода, но тоже результат тот же).
server {
listen 80
listen [::]:80;
server_name 3.hotelbobbygg.xyz;
}
И все же, когда я тестирую это так root@2:~# nginx -t -c /etc/nginx/sites-available/3.conf
Выдает следующую ошибку:
nginx: [emerg] "server" directive is not allowed here in /etc/nginx/sites-available/3.conf:1
nginx: configuration file /etc/nginx/sites-available/3.conf test failed
И если я удалю все содержимое этого файла, даже тогда он выдаст такую ошибку:
syntax is ok
nginx: [emerg] no "events" section in configuration
nginx: configuration file /etc/nginx/sites-available/3.conf test failed
И если я дам это: nginx -t
Затем это tests ok
Это просто новая капля, и помимо обновления ОС и создания подпапки под /var/www/
Я не касался других файлов.
Пожалуйста, ответьте словами парню, который плохо знаком с серверами и пытается изучить базовые функции (я успешно установил дискурс-сайт на ubuntu, и теперь я хочу настроить другой веб-сайт на том же сервере / сервере).
Вы используете неправильный флаг. Из документации
-c имя_файла Укажите, какой файл конфигурации NGINX должен использовать вместо файла по умолчанию
Итак, когда вы бежите
nginx -t -c /etc/nginx/sites-available/3.conf
Вы говорите серверу использовать 3.conf вместо основной конфигурации. Что, конечно, приведет к ошибке, так как серверный блок должен быть вложен. И сайты-доступные файлы включены в основной файл conf. Когда ты бежишь
nginx -t
Это нормально, потому что команда проверяет все файлы конфигурации, включая ваш сайты-доступные. Нет причин запускать его с флагом -c, если вы не тестируете полностью новую основную конфигурацию