Puncte:1

nginx este implicit la /usr/share/nginx/html în loc să meargă în folderul specificat în rădăcină

drapel in

Folosesc letsencrypt, pentru a configura ssl pentru un proiect django care este găzduit în modul de producție folosind nginx și gunicorn

Sistemul de operare (sistemul de operare) utilizat este: Amazon Linux 2

Ori de câte ori încerc să rulez serverul, primesc în continuare pagina implicită Amazon Linux 2, iar când verific jurnalele de erori primesc următoarea eroare:

2021/09/11 11:59:14 [eroare] 18402#18402: *1961 open() „/usr/share/nginx/html/favicon.ico” a eșuat (2: Nu există un astfel de fișier sau director), client: 122.174 .182.129, server: example.com, cerere: „GET /favicon.ico HTTP/2.0”, gazdă: „www.example.com”, referitor: „https://www.example.com/”

Ieșire din sudo nginx -T:

nginx: sintaxa fișierului de configurare /etc/nginx/nginx.conf este ok
nginx: fișierul de configurare /etc/nginx/nginx.conf testul a reușit
# fișier de configurare /etc/nginx/nginx.conf:
# Pentru mai multe informații despre configurare, consultați:
# * Documentație oficială în limba engleză: http://nginx.org/en/docs/
# * Documentație oficială rusă: http://nginx.org/ru/docs/

utilizator nginx;
worker_proceses auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Încărcați module dinamice. Consultați /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

evenimente {
    conexiuni_muncitor 1024;
}
http {
    log_format principal „$remote_addr - $remote_user [$time_local] „$request” '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log principal;

    sendfile activat;
    tcp_nopush activat;
    tcp_nodelay activat;
    keepalive_timeout 65;
    types_hash_max_size 4096;

    includ /etc/nginx/mime.types;
    aplicație de tip_default/octet-stream;

    # Încărcați fișierele de configurare modulare din directorul /etc/nginx/conf.d.
    # Consultați http://nginx.org/en/docs/ngx_core_module.html#include
    # pentru mai multe informatii.
    includ /etc/nginx/conf.d/*.conf;
    Server {

    #dacă ($gazdă = www.example.com) {
    # return 301 https://$host$request_uri;
    #} # gestionat de Certbot
   #
   # dacă ($gazdă = exemplu.com) {
   # return 301 https://$host$request_uri;
   # } # gestionat de Certbot


    asculta 80;
    nume_server example.com www.example.com;
    root /home/ec2-user/business;
    dacă ($gazdă = www.example.com) {
        returnează 301 https://$host$request_uri;
    } # gestionat de Certbot

    dacă ($gazdă = exemplu.com) {
        returnează 301 https://$host$request_uri;
    } # gestionat de Certbot
    locație = /favicon.ico { access_log off; log_not_found off; }

    locație /static {
        root /home/ec2-user/business;
    }

    Locație / {
        proxy_set_header Gazdă $http_host;
        proxy_set_header X-Real-IP $adresă_la distanță;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $schema;
        proxy_pass http://unix:/home/ec2-user/buisness/buisness.sock;
    }

}

  #  Server {
   # asculta 80;
    # asculta [::]:80;
     #   numele serverului  _;
     # root /home/ec2-user/business;

        # Încărcați fișierele de configurare pentru blocul de server implicit.
# include /etc/nginx/default.d/*.conf;
 # error_page 404 /404.html;
  # locație = /404.html {
   #}

    # error_page 500 502 503 504 /50x.html;
     # locație = /50x.html {
      # }
    #}

# Setări pentru un server activat TLS.

    Server {
        asculta 443 ssl http2;
        asculta [::]:443 ssl http2;
        nume_server example.com www.example.com;
        root /home/ec2-user/business/;


        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # gestionat de Certbot
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # gestionat de Certbot
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers activat;

        # Încărcați fișierele de configurare pentru blocul de server implicit.
        includ /etc/nginx/default.d/*.conf;
        pagina de eroare 404 /404.html;
            locație = /40x.html {
        }

       pagina_eroare 500 502 503 504 /50x.html;
            locație = /50x.html {
        }
}

}


# fișier de configurare /etc/nginx/mime.types:

tipuri {
    text/html html htm shtml;
    text/css css;
    text/xml xml;
    imagine/gif gif;
    imagine/jpeg jpeg jpg;
    aplicație/javascript js;
    aplicație/atom+xml atom;
    aplicație/rss+xml rss;

    text/mathml mml;
    text/txt simplu;
    text/vnd.sun.j2me.app-descriptor jad;
    text/vnd.wap.wml wml;
    text/x-component htc;

    imagine/png png;
    imagine/svg+xml svg svgz;
    imagine/tiff tif tiff;
    imagine/vnd.wap.wbmp wbmp;
    imagine/webp webp;
    imagine/x-icoană ico;
    imagine/x-jng jng;
    imagine/x-ms-bmp bmp;

    font/woff woff;
    font/woff2 woff2;

    aplicație/java-arhivă jar war ear;
    aplicație/json json;
    aplicație/mac-binhex40 hqx;
    aplicație/msword doc;
    cerere/pdf pdf;
    aplicație/postscript ps eps ai;
    aplicație/rtf rtf;
    application/vnd.apple.mpegurl m3u8;
    application/vnd.google-earth.kml+xml kml;
    application/vnd.google-earth.kmz kmz;
    application/vnd.ms-excel xls;
    application/vnd.ms-fontobject eot;
    application/vnd.ms-powerpoint ppt;
    application/vnd.oasis.opendocument.graphics odg;
    cerere/vnd.oasis.opendocument.prezentare odp;
    application/vnd.oasis.opendocument.spreadsheet ods;
    application/vnd.oasis.opendocument.text odt;
    application/vnd.openxmlformats-officedocument.presentationml.presentation
                                                     pptx;
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
                                                     xlsx;
    application/vnd.openxmlformats-officedocument.wordprocessingml.document
                                                     docx;
    application/vnd.wap.wmlc wmlc;
    aplicație/x-7z-comprimat 7z;
    aplicare/x-cacao cco;
    application/x-java-archive-diff jardiff;
    aplicație/x-java-jnlp-fișier jnlp;
    aplicație/x-makeself rulează;
    application/x-perl pl pm;
    application/x-pilot prc pdb;
    application/x-rar-compressed rar;
    application/x-redhat-package-manager rpm;
    aplicare/x-mare mare;
    aplicație/x-shockwave-flash swf;
    aplicație/x-stuffit sit;
    aplicație/x-tcl tcl tk;
    application/x-x509-ca-cert der pem crt;
    aplicație/x-xpinstall xpi;
    aplicație/xhtml+xml xhtml;
    aplicație/xspf+xml xspf;
    aplicare/zip fermoar;

    aplicație/octet-stream bin exe dll;
    application/octet-stream deb;
    application/octet-stream dmg;
    application/octet-stream iso img;
    aplicație/octet-stream msi msp msm;

    audio/midi mid midi kar;
    audio/mpeg mp3;
    audio/ogg ogg;
    audio/x-m4a m4a;
    audio/x-realaudio ra;

    video/3gpp 3gpp 3gp;
    video/mp2t ts;
    video/mp4 mp4;
    video/mpeg mpeg mpg;
    video/quicktime mov;
    video/webm webm;
    video/x-flv flv;
    video/x-m4v m4v;
    video/x-mng mng;
    video/x-ms-asf asx asf;
    video/x-ms-wmv wmv;
    video/x-msvideo avi;
}

Când alerg sudo nginx -t : Nu primesc erori

PS: Este prima dată când găzduiesc ssl cu letsencrypt și nginx, așa că nu îmi pare rău dacă fișierul .conf pare foarte grupat.

Orice ajutor ar fi foarte apreciat, multumesc!

drapel cn
Comentariile nu sunt pentru discuții extinse; această conversație a fost [mutată în chat](https://chat.stackexchange.com/rooms/129529/discussion-on-question-by-madhav-nginx-defaulting-to-usr-share-nginx-html-inste) .
Puncte:0
drapel in

Ok deci am rezolvat

RĂSPUNS SCURT: Trebuie să adăugați regulile incluse în blocul server 80, la blocul server 443

RĂSPUNSURI LUNGI: Fișierul meu nginx.conf:

# Pentru mai multe informații despre configurare, consultați:
# * Documentație oficială în limba engleză: http://nginx.org/en/docs/
# * Documentație oficială rusă: http://nginx.org/ru/docs/

utilizator nginx;
worker_proceses auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Încărcați module dinamice. Consultați /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

evenimente {
    conexiuni_muncitor 1024;
}
http {
    log_format principal „$remote_addr - $remote_user [$time_local] „$request” '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log principal;

    sendfile activat;
    tcp_nopush activat;
    tcp_nodelay activat;
    keepalive_timeout 65;
    types_hash_max_size 4096;

    includ /etc/nginx/mime.types;
    aplicație de tip_default/octet-stream;

    # Încărcați fișierele de configurare modulare din directorul /etc/nginx/conf.d.
    # Consultați http://nginx.org/en/docs/ngx_core_module.html#include
    # pentru mai multe informatii.
    includ /etc/nginx/conf.d/*.conf;
    Server {

    asculta 80;
    nume_server example.com www.example.com;
    root /home/ec2-user/business;
    dacă ($gazdă = www.example.com) {
        returnează 301 https://$server_name$request_uri;
    } # gestionat de Certbot

    dacă ($gazdă = exemplu.com) {
        returnează 301 https://$server_name$request_uri;
    } # gestionat de Certbot
    locație = /favicon.ico { access_log off; log_not_found off; }

    locație /static {
        root /home/ec2-user/business;
    }


    Locație / {
        proxy_set_header Gazdă $http_host;
        proxy_set_header X-Real-IP $adresă_la distanță;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $schema;
        proxy_pass http://unix:/home/ec2-user/buisness/buisness.sock;
    }

}



# Setări pentru un server activat TLS.

    Server {
        asculta 443 ssl http2;
        asculta [::]:443 ssl http2;
        server_name www.example.com example.com;


        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # gestionat de Certbot
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # gestionat de Certbot
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers activat;

        # Încărcați fișierele de configurare pentru blocul de server implicit.
        #include /etc/nginx/default.d/*.conf;
        includ /etc/nginx/conf.d/*.conf;
       # include /home/ec2-user/busisness/Main;

    locație = /favicon.ico { access_log off; log_not_found off; }

    locație /static {
        root /home/ec2-user/business;
    }

    Locație / {
        proxy_set_header Gazdă $http_host;
        proxy_set_header X-Real-IP $adresă_la distanță;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $schema;
        proxy_pass http://unix:/home/ec2-user/buisness/buisness.sock;
    }
}
}

The Reguli mentionate sunt:

locație = /favicon.ico { access_log off; log_not_found off; }

    locație /static {
        root /home/ec2-user/business;
    }


    Locație / {
        proxy_set_header Gazdă $http_host;
        proxy_set_header X-Real-IP $adresă_la distanță;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $schema;
        proxy_pass http://unix:/home/ec2-user/buisness/buisness.sock;
    }

După ce ți-ai schimbat .conf fișier, rulați următorii pași:

  1. sudo nginx -t : Aceasta va returna o confirmare dacă există erori de sintaxă cu fișierul dvs

  2. sudo systemctl reporniți nginx : Acest lucru vă va actualiza nginx

Câteva avertismente pentru viitorii cititori:

  1. Verificați dacă calea rădăcină există cu adevărat
  2. Schimbați-vă permisul de proxy, în funcție de locul în care vă aflați .ciorap fișierul este găsit

Strigați lui bobby(bobbyiliev) din oceanul digital - M-a ajutat să rezolv problema

De asemenea, verificați chatul legat în comentarii de un mod, pentru a afla îmbunătățirile sugerate de nikita, și un mulțumire pentru Michael Hampton de asemenea.

Link la întrebarea pusă pe oceanul digital: Întrebare

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.