Puncte:3

bind() la 0.0.0.0:80 a eșuat (98: Adresă deja utilizată) chiar dacă rulează numai NGINX

drapel mp

NOTĂ: S-a dovedit că nu a fost nicio problemă. Vezi comentariul pentru detalii.

Tocmai am primit o instanță nouă de la Oracle Cloud, Ubuntu 20.04 Minimizat. Deoarece încerc să rulez DokuWiki pe această instanță, am instalat aceste pachete:

sudo apt install net-tools lsof wget nano
sudo apt install php7.4-fpm php7.4-xml php7.4-mbstring imagemagick nginx certbot python3-certbot-nginx

Nu m-am atins niciodată nginx.conf în /etc/nginx dar șters Mod implicit link simbolic în /etc/sites-enabled și pun propriul meu fișier de conf /etc/nginx/conf.d cu nume exemplu.com.conf(numele real este totuși redactat)

Server {
    asculta 80 default_server;
    nume_server example.com;
    rădăcină /var/www/dokuwiki;
    index index.php index.html;

    Locație / { 
        try_files $uri $uri/ @dokuwiki;
    }

    locație @dokuwiki {
        rescrie ^/_media/(.*) /lib/exe/fetch.php?media=$1 ultimul;
        rescrie ^/_detail/(.*) /lib/exe/detail.php?media=$1 ultimul;
        rescrie ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 ultima;
        rescrie ^/(.*) /doku.php?id=$1&$args ultimul;
    }

    locație ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    
    locație ~ /(conf|bin|inc|furnizor)/ {
        nega totul;
    }
    
    locație ~ /date/ {
        intern;
    }
}

și, desigur, /var/www/dokuwiki este deținută de www-data(atât utilizator, cât și grup) cu această comandă:

sudo chown -R www-data:www-data /var/www/dokuwiki

Problema este că nu pot accesa site-ul meu. când scriu nginx în terminal, țipă așa:

nginx: [emerg] bind() la 0.0.0.0:80 a eșuat (98: Adresă deja utilizată)
nginx: [emerg] bind() la 0.0.0.0:80 a eșuat (98: Adresă deja utilizată)
nginx: [emerg] bind() la 0.0.0.0:80 a eșuat (98: Adresă deja utilizată)
nginx: [emerg] bind() la 0.0.0.0:80 a eșuat (98: Adresă deja utilizată)
nginx: [emerg] bind() la 0.0.0.0:80 a eșuat (98: Adresă deja utilizată)
nginx: [emerg] încă nu s-a putut lega ()

Dar, am verificat că nu există apache2- chestii asemănătoare și niciun alt proces care ascultă portul 80.

root@redacted:~# lsof -i :80
COMANDA PID UTILIZATOR TIP FD DIMENSIUNEA DISPOZITIV/OPRIT NUMELE NODULUI
nginx 1296 root 6u IPv4 32966 0t0 TCP *:http (ASCULTATE)
nginx 1297 www-data 6u IPv4 32966 0t0 TCP *:http (ASCULTATE)
nginx 1298 www-data 6u IPv4 32966 0t0 TCP *:http (ASCULTATE)

root@redacted:~# starea systemctl nginx
â nginx.service - Un server web de înaltă performanță și un server proxy invers
     Încărcat: încărcat (/lib/systemd/system/nginx.service; activat; prestabilit furnizor: activat)
     Activ: activ (în rulare) din sâmb. 2021-11-06 13:24:23 UTC; acum 16 minute
       Documente: man:nginx(8)
    Proces: 1294 ExecStartPre=/usr/sbin/nginx -t -q -g daemon activat; master_process on; (cod=ieșit, stare=0/SUCCESS)
    Proces: 1295 ExecStart=/usr/sbin/nginx -g daemon activat; master_process on; (cod=ieșit, stare=0/SUCCESS)
   PID principal: 1296 (nginx)
      Sarcini: 3 (limită: 1110)
     Memorie: 3,1 M
     CGroup: /system.slice/nginx.service
             ââ1296 nginx: procesul principal /usr/sbin/nginx -g daemon activat; master_process on;
             ââ1297 nginx: proces de lucru
             ââ1298 nginx: proces de lucru

06 noiembrie 13:24:23 systemd redactat[1]: Pornirea unui server web de înaltă performanță și a unui server proxy invers...
06 noiembrie 13:24:23 sistem redactat[1]: Pornit Un server web de înaltă performanță și un server proxy invers.

root@redacted:~# fuzor -v 80/tcp
                     COMANDA DE ACCES PID UTILIZATOR
80/tcp: root 1296 F.... nginx
                     www-data 1297 F.... nginx
                     www-data 1298 F.... nginx

Din moment ce nu m-am atins nginx.conf, nginx -t spune că nu există nicio eroare. dar verificând .conf fișierul eșuează:

root@redacted:~# nginx -tc /etc/nginx/conf.d/example.com.conf
nginx: directiva [emerg] „server” nu este permisă aici în /etc/nginx/conf.d/example.com.conf:1
nginx: fișierul de configurare /etc/nginx/conf.d/example.com.conf a eșuat

Dar cred că acest lucru nu este relevant pentru această problemă (nu sunt sigur).

Nici măcar uciderea tuturor proceselor folosind portul 80 nu funcționează.

Am căutat pe google soluția acestei probleme, dar nu am găsit una care să funcționeze.

PS. Am deschis portul din iptables și panoul web OC. Deci chestia cu port nu va fi motivul acestei probleme cred.

drapel in
„Starea ta systemctl” arată că nginx rulează deja. Trebuie fie să îl opriți, fie să îl reporniți în loc să îl porniți manual.
tetratheta avatar
drapel mp
@GeraldSchneider Asta nu a rezolvat problema. După repornirea acestuia, `nginx` arată încă o eroare de legare.
tetratheta avatar
drapel mp
Oh, am înțeles greșit comentariul lui Gerald: Acum funcționează. De fapt, nu a fost nicio problemă. Comanda `nginx` încerca să lanseze un alt proces NGINX, în loc să arate jurnalele (asta am crezut eu). Mulțumiri!
djdomi avatar
drapel za
@tetratheta, vă rugăm să reamintiți să adăugați un răspuns și să-l acceptați, altfel ni se va reaminti pentru a decade această întrebare
Puncte:1
drapel mp

Nu știu dacă pot posta răspunsul la întrebarea mea, dar aici este răspunsul.

De fapt, am înțeles greșit ce nginx comanda face. M-am gândit că asta îmi va arăta jurnalul procesului curent NGINX, dar de fapt încerca să creeze un nou proces NGINX, care ar fi blocat de procesul actual NGINX. De aceea mi-a arătat [emerg] bind() la 0.0.0.0:80 a eșuat (98: Adresă deja utilizată) eroare pentru mine.

Deci, în concluzie, nu a fost nicio problemă cu mediul meu. Totul era bine.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.