Хостинг django с angular на digitalocean с помощью nginx
У меня есть Django-Angular проект, который я хочу развернуть на DigitalOcean с Nginx, и я успешно выполнил всю настройку, но у меня есть некоторые сомнения, которые я хочу развеять, прежде чем окончательно приступить к этому решению. Вот что я сделал на данный момент
В настоящее время я gunicorn.sock
и gunicorn.service
файлы для настройки gunicorn и передал этот файл в блок расположения Nginx
location /api {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock; # this will proxy pass the request to gunicorn which is running django app
}
Проект Django запущен без каких-либо проблем.
Для проекта angular я использую supervisor
,
внутри /etc/supervisor/conf.d/my_angular_app.conf
я установил конфигурации для angular app
[program:my_angular_app]
command=ng serve
directory=/path/to/angular/project/
user=www-data
autostart=true
autorestart=true
stdout_logfile=/path/to/angular/project/logs/angular.log
redirect_stderr=true
это запускает проект angular на localhost:4200
Теперь я добавил еще один блок location внутри моего файла Nginx для прокси передачи запросов в angular
location / {
include proxy_params; # this will pass the requests to angular project
proxy_pass http://localhost:4200;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location /api {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock; # this will proxy pass the request to gunicorn which is running django app
}
Вся эта установка работает нормально, но у меня есть сомнения, правильный ли это подход к развертыванию ангулярного проекта с Django. Любая помощь будет оценена по достоинству, поскольку у меня нет достаточного опыта в работе с серверами.