2017-05-16 2 views
0

J'ai une application Ember fonctionnant sur le port 4200 qui utilise une API Express sur le port 4500. Je l'ai téléchargé mon API:Comment puis-je déployer une application Ember sur Digital Ocean?

/var/www/my-api-domain.com/public_html/

J'ai également modifié le fichier nginx sites-available:

location/
{ 
    proxy_pass http://localhost:4500; 
    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; 
} 

I SSH dans le serveur, le répertoire de changement à mon API, et exécuter node server et cela fonctionne ! Lorsque je visite mon adresse IP dans le navigateur, je vois mon API fonctionne correctement:

http://159.203.31.72

J'ai alors couru ember build -prod localement et téléchargé le contenu du dossier dist résultant de:

/var/www/my-ember-domain.com/public_html/

Je une fois de plus mis à jour le nginx sites-available avec:

location /ember 
{ 
    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; 
} 

Maintenant quoi? En règle générale, lorsque j'exécute le site localement, je cours ember server, mais les fichiers résultants en dist semblent très différents et je n'ai pas ember cli installé sur le serveur. Comme je l'ai lu à ce sujet, cela ne semble pas être la bonne approche.

Lorsque je tape http://159.203.31.72/ember dans le navigateur, j'obtiens un nginx 502 Bad Gateway. Comment puis-je servir mon application Ember?

Répondre

1

ember server démarre un serveur de développement dont ne doit pas être utilisé en production. Construisez votre application en utilisant ember build --prod. Ensuite, vous trouverez vos actifs dans le dossier dist/. Servez-les avec nginx et vous avez terminé. Il existe un exemple nginx.conf dans docs ember-cli: https://ember-cli.com/user-guide/#deploying-an-https-server-using-nginx-on-a-unixlinuxmacosx-machine

Vous pouvez utiliser ember-cli-deploy si vous devez configurer un flux de travail de déploiement plus complexe.