Я пытаюсь развернуть сайт на сервере Linux, следуя руководству Кори Шафера для Flask.
Мой сайт работает, но nginx не может прочитать/получить доступ/найти статическую папку и файлы внутри.
Сначала я удалил сайты с поддержкой по умолчанию и создал собственный:
sudo rm /etc/nginx/sites-enabled/по умолчанию
Затем:
sudo nano /etc/nginx/sites-enabled/flaskblog
Вот что я ввожу в этот файл:
сервер {
слушать 80;
имя_сервера ДОМЕН_IP;
местоположение/статический {
псевдоним /Users/myname/VScode/Flask_Blog/flaskblog/static;
}
место расположения / {
proxy_pass http://localhost:8000;
включить /etc/nginx/proxy_params;
прокси_перенаправление выключено;
}
}
Но все статические страницы возвращают 404
Если я проверю журнал ошибок nginx, я увижу:
03.06.2022, 06:09:42 [ошибка] 71064#71064: *1 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/main.css" не удалось (2: нет такого файла или каталога) , клиент: 217.146.83.247, сервер: IP, запрос: "GET /static/main.css HTTP/1.1", хост: "IP", реферер: "http://IP/"
03.06.2022 06:09:42 [ошибка] 71064#71064: *1 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/profile_pics/271fcf0ffe2a92aa.jpg" не удалось (2: нет такого файла или каталог), клиент: 217.146.83.247, сервер: IP, запрос: "GET /static/profile_pics/271fcf0ffe2a92aa.jpg HTTP/1.1", хост: "IP", реферер: "http://IP/"
03.06.2022, 06:09:42 [ошибка] 71064#71064: *4 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/profile_pics/default.jpg" не удалось (2: нет такого файла или каталог), клиент: 217.146.83.247, сервер: IP, запрос: "GET /static/profile_pics/default.jpg HTTP/1.1", хост: "IP", реферер: "http://IP/"
03.06.2022, 06:09:45 [ошибка] 71064#71064: *4 open() "/Users/myname/VScode/Flask_Blog/flaskblog/static/main.css" не удалось (2: нет такого файла или каталога) , клиент: 217.146.83.247, сервер: IP, запрос: "GET /static/main.css HTTP/1.1", хост: "IP", реферер: "http://IP/home"
Итак, я вижу, что nginx находится в правильном месте, поэтому я не понимаю, почему он говорит «Нет такого файла или каталога».
я пробовал оба
местоположение/статический {
псевдоним /Users/myname/VScode/Flask_Blog/flaskblog/static;
}
и
местоположение/статический {
корень /Пользователи/мое имя/VScode/Flask_Blog/flaskblog;
}
И оба выдают одну и ту же ошибку и одно и то же местоположение.
Я также сделал компакт-диск, а затем сделал лс
в каждой точке проверять, что все на месте и вроде все в порядке
(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
ошибки config.py __init__.py main models.py сообщения __pycache__ site.db статические шаблоны пользователи
(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: не каталог
(venv) charles@flask-server:~/Flask_Blog/flaskblog/static$ cd profile_pics
(venv) charles@flask-server:~/Flask_Blog/flaskblog/static/profile_pics$ ls
И если я перейду в «/Users/myname/VScode/Flask_Blog/flaskblog/static» на моей личной машине, он попадет в нужное место.
Спасибо за любую помощь.