Je suis très nouveau à déployer Django et AWS. Alors maintenant, je voudrais déployer mon projet séparé (drf
+ react
) à AWS.
Alors, comment puis-je déployer le projet séparé vers AWS?
EC2 VS Elastic BeanStalk qui est meilleur pour ce type d'environnement?
Je cherche déjà un jour, mais je n'ai trouvé rien d'informations utiles et j'ai trouvé la même chose, mais je ne comprends pas comme ça => Déploiement de) React frontend et Django API DRF
Vous avez posé une question difficile. Je pense que je peux le rendre peu facile pour vous.
Premièrement examinons les différences entre les options.
react app
Dans cette option, l'application =Django APP servira votre application dans un itinéraire pour E.G /app/
. Fondamentalement la route /app
chargera l'index de l'application de réagir de réagir.html. c'est si simple.
Pour que cela fonctionne, vous devez construire votre application réactive à l'aide de npm run build
et copiez les fichiers dans le dossier statique de Django. bien jusqu'à présent? L'une des avantages de l'option 1 donne, l'option 2 n'est pas la case, vous pouvez utiliser le même domaine pour le backend et le frontend pour E.G www.example.com
.
Vous devez toujours construire l'application réagissante à l'aide de npm run build
, mais vous ne copierez pas cela à Django, en d'autres termes, vous ne voulez pas Django pour servir votre application frontale, vous souhaitez que S3 servait le site Web statique. Cette méthode Nécessite un sous-domaine ou un domaine séparé pour héberger l'application réactive.
Thats est la seule différence entre les options. Votre application frontale effectuera des appels d'API au Django API, c'est identique pour les deux options.MY Option préférée est l'option 2 pour réduire la complexité.
Je choisirais ElasticBeanstalk parce que c'est facile de commencer. Vous pouvez tout faire dans la console ElasticBeanStalk de l'équilibreur de charge à SSL, HealthCheck, Modification du clavier EC2 pour l'instance EC2, etc. Le déploiement est très facile. Il prend en charge plusieurs environnements, vous pouvez utiliser un compte AWS pour vos environnements de test et de production.