Î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.