Как развернуть проект Django и React на одном сервере Ubuntu 18.04 с помощью gunicorn и nginx?
У меня есть проект Django, который я уже успешно развернул на своем сервере Ubuntu 18.04 с помощью gunicorn и nginx, используя этот учебник.
Проект использует Django Rest Framework, и я могу получить доступ к его конечным точкам через веб-браузер. Однако я также хочу развернуть отдельный проект react на том же сервере, чтобы он мог отправлять http-запросы к приложению Django и отображать данные, полученные от REST API. Как я могу это сделать?
Вот мой текущий gunicorn.service
[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target
[Service]
User=ubuntu
Group=www-data
WorkingDirectory=/home/ubuntu/my_project/coffeebrewer
ExecStart=/home/ubuntu/my_project/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/ubuntu/my_project/coffeebrewer/coffeebrewer.sock coffeebrewer.wsgi:application
[Install]
WantedBy=multi-user.target
Вот мои текущие конфигурации nginx
server {
listen 80;
listen [::]:80;
server_name my_ipv6_address;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root root /home/ubuntu/my_project/coffeebrewer;
}
location / {
include proxy_params;
proxy_pass http://unix:/run/gunicorn.sock;
}
}
Я рекомендую вам сначала попробовать его локально в режиме производства, установив whitenoise django package и в вашем settings.py файле добавьте эту строку SECURE_CROSS_ORIGIN_OPENER_POLICY = None
Отсюда вы можете перемещаться вперед