Не запускается nginx после редактирования файла default в sites-avaliable
Устанавливаю nginx
apt install nginx -y
К нему модуль RTMP
apt install libnginx-mod-rtmp -y
В nginx.conf добавляю:
rtmp {
server {
listen 1935;
chunk_size 4096;
allow publish all;
application live {
live on;
record off;
}
listen 1936;
application livetest {
live on;
record off;
}
}
}
Проверяю конфиг nginx -t
, выдаёт ок и саксессфул. Перезапускаю nginx systemctl restart nginx
, проверяю systemctl status nginx
, тоже всё хорошо.
Но далее при изменении в /etc/nginx/sites-avaliable/default
nginx падает.
Изменения: удаляю все строки по умолчанию и дописываю
server {
listen 8080;
server_name _;
# rtmp stat
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root /var/www/html/rtmp;
}
# rtmp control
location /control {
rtmp_control all;
}
}
При попытке сделать рестарт после изменения файла nginx failed с ошибкой:
nginx: [emerg] bind() to 0.0.0.0:8080 failed (98: Unknown error)
Меняю порт, ошибка прежняя.
Ищу, что использует какие порты sudo netstat -nlp
. Нахожу процесс на :8080, motion, он мне не нужен, удаляю модуль полностью. Снова проверяю, порт больше не используется, ss -antpl | grep 8080
ничего тоже не выводит.
Nginx не запускается с той же ошибкой. Возвращаю default в исходное состояние, nginx не запускается. Сношу nginx, ставлю заново, всё работает. Меняю defaults, всё падает.
В логе также только [emerg] bind() to 0.0.0.0:8080 failed (98: Unknown error)
Я впервые ковыряю линукс, прошу простить, если вопрос простой, но я усердно гуглил до того как написать вопрос.
Ответы (1 шт):
Файл по пути /etc/nginx/sites-avaliable/default
по-умолчанию не влияет на работу nginx, как и все файлы в папке /etc/nginx/sites-avaliable
.
nginx подключает конфиги из папки /etc/nginx/sites-enabled
.
Обычно, сами конфиги хранятся в /etc/nginx/sites-avaliable
, а в папку /etc/nginx/sites-enabled
добавляют симлинк (когда необходимо включить конфиг конкретного сайта) командой:
ln -s /etc/nginx/sites-avaliable/default /etc/nginx/sites-enabled
где
ln
- команда, создащая ссылки-s
- параметр указывающий, что надо создать симлинк/etc/nginx/sites-avaliable/default
- откуда делать ссылку/etc/nginx/sites-enabled
- куда делать ссылку