Не удается развернуть приложение с помощью nginx и react/django
Я пытался развернуть приложение React+Django в разработке, но безуспешно.
Локально все работает нормально, используя Django's python3 manage.py runserver
При развертывании я использую gunicorn+nginx. Когда я устанавливаю gunicorn и тестирую его, все работает нормально. Однако, когда я добавляю nginx, сайт работает, но у него много ошибок, вызовы сервера падают 1 из 3 раз, и приложение не стабильно. Например, у меня есть счетчик для подсчета количества посещений на каждой странице, и он просто продолжает выдавать суммы различных комбинаций посещений каждый раз, когда я меняю страницу, короче говоря, приложение не стабильно.
Вот мой файл конфигурации nginx /etc/nginx/sites-enabled/myapp
server {
listen 80;
server_name myip;
client_max_body_size 700m;
client_body_buffer_size 16k;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /path/to/app;
}
location /media/ {
root /path/to/app;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/ubuntu/myapp/myapp.sock;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
try_files $uri /index.html;
}
location /api {
include proxy_params;
proxy_pass http://unix:/home/ubuntu/myapp/myapp.sock;
}
}
Вот мой gunicorn.service
файл
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=ubuntu
Group=www-data
WorkingDirectory=/home/ubuntu/myapp/myapp
ExecStart=/home/ubuntu/miniconda3/envs/myapp/bin/gunicorn \
--access-logfile - --workers 3 --timeout 60000 --bind unix:/home/ubuntu/myapp/myapp.sock myapp.wsgi:application
[Install]
WantedBy=multi-user.target
Я попробовал увеличить время таймаута и размер клиента, так как думал, что это может быть проблема с пропускной способностью, но это не помогло.
Я понятия не имею, что происходит. Должен ли nginx быть настроен специально, чтобы разрешить урлы React'а api/
?
UPDATE
Нужно ли мне обслуживать приложение REACT на другом порту (например, 8000), а затем указать его в конструкции /api в конфигурации nginx?