ПРИМЕЧАНИЕ. Оказалось, что проблемы вообще не было. Подробности смотрите в комментарии.
Я только что получил свежий экземпляр из Oracle Cloud, Ubuntu 20.04 Minimized.
Поскольку я пытаюсь запустить «ДокуВики» на этом экземпляре, я установил следующие пакеты:
sudo apt установить сетевые инструменты lsof wget nano
sudo apt установить php7.4-fpm php7.4-xml php7.4-mbstring imagemagick nginx certbot python3-certbot-nginx
я никогда не трогал nginx.conf
в /etc/nginx
но удалил По умолчанию
символическая ссылка в /etc/сайты с поддержкой
и поместите свой собственный файл conf в /etc/nginx/conf.d
с именем пример.com.conf
(настоящее имя отредактировано)
сервер {
слушать 80 default_server;
имя_сервера пример.com;
корень /var/www/dokuwiki;
индекс index.php index.html;
место расположения / {
try_files $uri $uri/ @dokuwiki;
}
местоположение @dokuwiki {
переписать ^/_media/(.*) /lib/exe/fetch.php?media=$1 последним;
переписать ^/_detail/(.*) /lib/exe/detail.php?media=$1 последним;
переписать ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 последним;
переписать ^/(.*) /doku.php?id=$1&$args последним;
}
расположение ~ \.php$ {
включить фрагменты/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
включить fastcgi_params;
}
расположение ~ /(conf|bin|inc|vendor)/ {
отрицать все;
}
местоположение ~ /данные/ {
внутренний;
}
}
и, конечно же, /var/www/dokuwiki
принадлежит www-данные
(как пользователь, так и группа) с помощью этой команды:
sudo chown -R www-data:www-data /var/www/dokuwiki
Проблема в том, что я не могу зайти на свой сайт. когда я печатаю нгинкс
в терминале кричит так:
nginx: [появление] bind() на 0.0.0.0:80 не удалось (98: адрес уже используется)
nginx: [появление] bind() на 0.0.0.0:80 не удалось (98: адрес уже используется)
nginx: [появление] bind() на 0.0.0.0:80 не удалось (98: адрес уже используется)
nginx: [появление] bind() на 0.0.0.0:80 не удалось (98: адрес уже используется)
nginx: [появление] bind() на 0.0.0.0:80 не удалось (98: адрес уже используется)
nginx: [emerg] по-прежнему не удалось связать()
Но я проверил, нет апач2
-подобные вещи и никакой другой процесс, прослушивающий порт 80.
root@redacted:~# lsof -i :80
КОМАНДА PID ПОЛЬЗОВАТЕЛЬ ТИП FD УСТРОЙСТВО РАЗМЕР/ВЫКЛ НАЗВАНИЕ УЗЛА
nginx 1296 root 6u IPv4 32966 0t0 TCP *:http (СЛУШАТЬ)
nginx 1297 www-data 6u IPv4 32966 0t0 TCP *:http (СЛУШАТЬ)
nginx 1298 www-data 6u IPv4 32966 0t0 TCP *:http (СЛУШАТЬ)
root@redacted:~# статус systemctl nginx
nginx.service — высокопроизводительный веб-сервер и обратный прокси-сервер
Загружено: загружено (/lib/systemd/system/nginx.service; включено; предустановка поставщика: включена)
Активно: активно (работает) с сб 06.11.2021 13:24:23 UTC; 16 минут назад
Документы: man:nginx(8)
Процесс: 1294 ExecStartPre=/usr/sbin/nginx -t -q -g демон включен; master_process включен; (код=выход, статус=0/УСПЕХ)
Процесс: 1295 ExecStart=/usr/sbin/nginx -g демон включен; master_process включен; (код=выход, статус=0/УСПЕХ)
Основной PID: 1296 (nginx)
Заданий: 3 (лимит: 1110)
Память: 3,1 М
Группа CG: /system.slice/nginx.service
• 1296 nginx: главный процесс /usr/sbin/nginx -g daemon on; master_process включен;
ââ1297 nginx: рабочий процесс
— 1298 nginx: рабочий процесс
06 ноября 13:24:23 отредактировано systemd[1]: Запуск Высокопроизводительный веб-сервер и обратный прокси-сервер...
06 ноября 13:24:23 отредактировано systemd[1]: запущен Высокопроизводительный веб-сервер и обратный прокси-сервер.
root@redacted:~# fuser -v 80/tcp
КОМАНДА ДОСТУПА ПИД-ИД ПОЛЬЗОВАТЕЛЯ
80/tcp: корень 1296 F.... nginx
www-данные 1297 F.... nginx
www-данные 1298 F.... nginx
Так как я не трогал nginx.conf
, нгинкс -т
говорит, что ошибки нет. но проверка .conf
файл не работает:
root@redacted:~# nginx -tc /etc/nginx/conf.d/example.com.conf
nginx: [emerg] директива server не разрешена здесь в /etc/nginx/conf.d/example.com.conf:1
nginx: проверка файла конфигурации /etc/nginx/conf.d/example.com.conf не удалась
Но я думаю, что это не относится к этой проблеме (хотя и не уверен).
Даже убить весь процесс, использующий порт 80, тоже не работает.
Я искал в Google решение этой проблемы, но не нашел ни одного работающего.
PS. Я открыл порт из iptables
и веб-панели OC. Так что порт не будет причиной этой проблемы, я думаю.