Puncte:0

Nginx dă eroare „Nu există un astfel de fișier sau director” pentru fișierele statice

drapel by

Încerc să implementez un site pe un server Linux urmând ghidul lui Corey Schafer pentru Flask.

Site-ul meu funcționează, dar nginx nu poate citi/accesa/găsește folderul static și fișierele din interior.

Am eliminat inițial site-urile implicite activate și am creat unul personalizat:

sudo rm /etc/nginx/sites-enabled/default

Atunci:

sudo nano /etc/nginx/sites-enabled/flaskblog

Iată ce am introdus în acel fișier:

Server {
    asculta 80;
    nume_server DOMAIN_IP;

    locație /static {
        alias /Users/myname/VScode/Flask_Blog/flaskblog/static;
    }

    Locație / {
        proxy_pass http://localhost:8000;
        includ /etc/nginx/proxy_params;
        proxy_redirect dezactivat;
    }
}

Dar toate paginile statice returnează 404

Dacă verific jurnalul de erori al nginx, văd:

   2022/06/03 06:09:42 [eroare] 71064#71064: *1 open() „/Users/myname/VScode/Flask_Blog/flaskblog/static/main.css” a eșuat (2: Nu există un astfel de fișier sau director) , client: 217.146.83.247, server: IP, cerere: „GET /static/main.css HTTP/1.1”, gazdă: „IP”, referitor: „http://IP/”
2022/06/03 06:09:42 [eroare] 71064#71064: *1 open() „/Users/myname/VScode/Flask_Blog/flaskblog/static/profile_pics/271fcf0ffe2a92aa.jpg” a eșuat (2: Nici un astfel de fișier director), client: 217.146.83.247, server: IP, cerere: „GET /static/profile_pics/271fcf0ffe2a92aa.jpg HTTP/1.1”, gazdă: „IP”, referitor: „http://IP/”
2022/06/03 06:09:42 [eroare] 71064#71064: *4 open() „/Users/myname/VScode/Flask_Blog/flaskblog/static/profile_pics/default.jpg” a eșuat (2: Nu există un astfel de fișier sau director), client: 217.146.83.247, server: IP, cerere: „GET /static/profile_pics/default.jpg HTTP/1.1”, gazdă: „IP”, referitor: „http://IP/”
2022/06/03 06:09:45 [eroare] 71064#71064: *4 open() „/Users/myname/VScode/Flask_Blog/flaskblog/static/main.css” a eșuat (2: Nu a reușit un astfel de fișier sau director) , client: 217.146.83.247, server: IP, cerere: „GET /static/main.css HTTP/1.1”, gazdă: „IP”, referitor: „http://IP/home”

Așa că pot vedea că nginx merge în locația corectă, așa că nu înțeleg de ce spune „Fără un astfel de fișier sau director”

Le-am incercat pe amandoua

locație /static {
        alias /Users/myname/VScode/Flask_Blog/flaskblog/static;
    }

și

locație /static {
        root /Users/myname/VScode/Flask_Blog/flaskblog;
    }

Și ambele produc aceeași eroare și aceeași locație.

Am, de asemenea, cd-d jos și apoi gata ls la fiecare punct pentru a verifica dacă totul este la locul potrivit și totul pare în ordine

(venv) charles@flask-server:~/Flask_Blog$ ls
flaskblog __pycache__ requirements.txt run.py venv
(venv) charles@flask-server:~/Flask_Blog$ cd flaskblog
(venv) charles@flask-server:~/Flask_Blog/flaskblog$ ls
erori config.py __init__.py main models.py postări __pycache__ site.db șabloane statice utilizatori
(venv) charles@flask-server:~/Flask_Blog/flaskblog$ cd static
(venv) charles@flask-server:~/Flask_Blog/flaskblog/static$ ls
main.css profile_pics
(venv) charles@flask-server:~/Flask_Blog/flaskblog/static$ cd main.css
-bash: cd: main.css: Nu este un director
(venv) charles@flask-server:~/Flask_Blog/flaskblog/static$ cd profile_pics
(venv) charles@flask-server:~/Flask_Blog/flaskblog/static/profile_pics$ ls

Și dacă mă duc la „/Utilizatori/numele meu/VScode/Flask_Blog/flaskblog/static” pe mașina mea personală, se duce la locul corect.

Vă mulțumesc pentru orice ajutor.

Puncte:0
drapel ph
Flo

Întrebării dvs. lipsesc unele informații despre permisiunile directorului /Utilizatori/numele meu/VScode/Flask_Blog/. Implicit utilizator declarație în dvs nginx.conf ar trebui să definească ceva de genul utilizator www-date;.

Deci, acest utilizator trebuie să aibă permisiunile corespunzătoare pentru folderul dvs. static. Ai putea face

chown -R www-data: /Users/myname/VScode/Flask_Blog/flaskblog/static

drapel by
Mulțumesc. Ar trebui să introduc asta în terminal? Am încercat să-l introduc în terminal și am primit aceeași eroare. ```chown: nu poate accesa '/Users/myname/VScode/Flask_Blog/flaskblog/static': Nu există un astfel de fișier sau director```
drapel by
De asemenea, am încercat să merg în folderul de pe aparatul meu, făcând clic dreapta, făcând clic pe „obține informații” copiend locația direct de acolo și apoi făcând ```ls /Users/myname/VScode/Flask_Blog/flaskblog/static/main.css`` ` inserând locația direct în și primesc, de asemenea, ```Nu există un astfel de fișier sau director```
Flo avatar
drapel ph
Flo
@acodeaday pentru a vă ajuta cu asta, avem nevoie de mai multe informații despre sistemul dvs. de operare. Tu pe care alergi? cum este configurat mediul tău?

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.