Я пытаюсь запустить приложение flask с сервером NGINX на Pi Model 3B +. Код в каталоге /home/pi/api/api.py. Я следую этой статье https://www.raspberrypi-spy.co.uk/2018/12/running-flask-under-nginx-raspberry-pi/
Мой INI-файл WSGI
[uwsgi]
chdir = /home/pi/api
module = api:app
master = true
processes = 1
threads = 2
uid = www-data
gid = www-data
socket = /tmp/api.sock
chmod-socket = 664
vacuum = true
Мой прокси-сервер uwsgi после удаления значений по умолчанию
sudo nano /etc/nginx/sites-available/api_proxy
server {
listen 80;
server_name localhost;
location / { try_files $uri @app; }
location @app {
include uwsgi_params;
uwsgi_pass unix:/tmp/api.sock;
}
}
Мой файл uwsgi.service
[Unit]
Description=uWSGI Service
After=network.target
[Service]
User=www-data
Group=www-data
WorkingDirectory=/home/pi/flasktest/
ExecStart=/usr/local/bin/uwsgi --ini /home/pi/api/uwsgi.ini
[Install]
WantedBy=multi-user.target
Но когда я запускаю сервер, используя
sudo systemctl status uwsgi.service
, я получаю эту ошибку
uwsgi.service - uWSGI Service
Loaded: loaded (/etc/systemd/system/uwsgi.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-04-22 02:58:37 IST; 51min ago
Main PID: 464 (uwsgi)
Tasks: 3 (limit: 2319)
Memory: 13.5M
CGroup: /system.slice/uwsgi.service
├─464 /usr/local/bin/uwsgi --ini /home/pi/api/uwsgi.ini
└─728 /usr/local/bin/uwsgi --ini /home/pi/api/uwsgi.ini
Apr 22 03:40:32 websync uwsgi[464]: File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
Apr 22 03:40:32 websync uwsgi[464]: File "<frozen importlib._bootstrap_external>", line 724, in exec_module
Apr 22 03:40:32 websync uwsgi[464]: File "<frozen importlib._bootstrap_external>", line 859, in get_code
Apr 22 03:40:32 websync uwsgi[464]: File "<frozen importlib._bootstrap_external>", line 916, in get_data
Apr 22 03:40:32 websync uwsgi[464]: PermissionError: [Errno 13] Permission denied: './api.py'
Apr 22 03:40:32 websync uwsgi[464]: unable to load app 0 (mountpoint='') (callable not found or import error)
Apr 22 03:40:32 websync uwsgi[464]: *** no app loaded. going in full dynamic mode ***
Apr 22 03:40:32 websync uwsgi[464]: *** uWSGI is running in multiple interpreter mode ***
Apr 22 03:40:32 websync uwsgi[464]: gracefully (RE)spawned uWSGI master process (pid: 464)
Apr 22 03:40:32 websync uwsgi[464]: spawned uWSGI worker 1 (pid: 728, cores: 2)
Пожалуйста, помогите.