0
votes

Pourquoi j'ai besoin de serveur Web pour charger la webApp angulaire

Je pose ma webApp angulaire dans la production et je lis la documentation officielle que j'ai réalisée que j'ai besoin d'un serveur Web, est-ce le cas? Dans ce cas, lorsque je télécharge mon WebApp en ligne, nous devrons spécifier le port de l'URL? Par exemple www.mywebapp.com:4200 sinon, comment ça marche? Merci


4 commentaires

Oui, vous aurez besoin d'un serveur pour héberger et servir les fichiers. Non, vous n'avez pas besoin de définir le port, car vous servirez à partir de votre dossier public de serveurs (très probablement) et sur le port par défaut pour HTTP, le port 80 ou le port HTTPS par défaut 443 au cas où vous auriez un certificat SSL qui Vous utiliserez.


Que se passe-t-il s'il y a plus d'une application Web sur le serveur?


Ils devraient vivre dans des dossiers séparés et être accessibles à partir de différents itinéraires de serveurs (URL)


ok je comprends, merci pour vos réponses


3 Réponses :


0
votes

À la suite de la compilation (bâtiment) Votre application angulaire Vous obtenez des fichiers statiques (HTML, CSS, JS) et ces fichiers doivent être hébergés et desservés, cela permettra à d'autres d'utiliser / consommer ceci. Certains choix populaires (pas tous) ici pourraient être Nginx ou Apache ou serveur moins de solution comme Heroku ou Amazon, etc.


0 commentaires

1
votes

Je vois beaucoup de confusion ici. Je vais expliquer aussi mieux que possible.

Lorsque vous serez l'application avec la commande ng serveur code> Vous êtes sur le point d'exécuter un serveur Web effectué localement dans Nodejs. Par défaut, il exécutoire sur le port 4200 code> mais vous pouvez le modifier à l'aide d'un drapeau: ng servir --port 4567 code>. En faisant cela, vous n'atteinterez pas votre site si vous tapez localhost: 4200 code> dans le navigateur, mais vous devez utiliser le port 4567 code> p>

La raison pour laquelle par défaut, le port est de 4200 est parce que probablement Il n'y a pas d'autres applications utilisant ce port. P> blockQuote>

Lorsque vous créez votre application, le résultat est un dossier dist code>, contenant une liste de fichiers. Tous ces fichiers peuvent être interprétés par le navigateur, tandis que le *. TS code> ne le fait pas. P>

Etant donné que TypeScript est un code> Superset code> de JavaScript doit être compilé. Que ce que la construction fait, principalement. Donc, vous avez maintenant cette liste de fichiers prêts à être déployés. Voici la question que vous avez posée, ai-je besoin d'un serveur Web? Code> p>

Cela dépend. P> blockQquote>

Si l'application n'a pas besoin d'aller en ligne et ne fait pas d'appels HTTP du tout ou n'interagissez pas avec un backend / dB, vous pouvez simplement ouvrir le index.html code> directement. sur votre navigateur et cela fonctionnera bien. Par conséquent, aucun besoin d'utiliser un Web-serveur code>. P>

Si ce n'est pas votre cas, vous avez besoin d'un serveur Web. La raison est simple, chaque site est hébergé sur un serveur. Une machine avec une adresse publique publique pouvant être résolue partout (à l'exclusion des cas lorsque l'ISP national (fournisseur de services Internet) a coupé la connexion au début). P>

prenons à titre d'exemple. Si vous tapez, dans le navigateur, www.stackoverflow.com code> vous atteindrez le site. Si vous tapez www.stackoverflow.com:80 code> vous obtiendrez le même résultat. P>

Regardez ici: https://en.wikipedia.org/wiki/ List_of_tcp_and_udp_port_numbers p>

Si vous faites défiler un bit un peu, vous verrez que le port 80 code> est utilisé pour http requêtes code>. C'est la norme, et tous les navigateurs par défaut, lorsque vous essayez de naviguer sur un site, utilisera ce port (pour la demande HTTPS. Le port passe à 443 code>, mais la logique est un peu identique). P>

Vous pouvez également configurer le pare-feu de votre serveur pour ne pas accepter de connexions sur le port 80 mais sur le port 12443 CODE> et mettre un serveur Web qui écoute sur ce port. Le résultat sera que si vous tapez www.mysite.com code> Le navigateur vous donnera que l'erreur classique "ne peut pas rejoindre www.mysite.com". Mais si vous tapez mysite.com:12443 code> vous obtiendrez le résultat recherché. Dans ce cas, le contenu du dossier dist. P>

Vous avez également demandé: Que se passe-t-il s'il y a plus d'une application Web dans la serveur? p> BlockQuote>

Vous avez deux choix, pour moi: p>

1) Chaque serveur Web utilise différents ports. Vous pouvez ensuite accéder à votre contenu spécifique à l'aide de différents ports sur demande: p> xxx pré>

2) Utilisez un inverse-proxy code> pour gérer toutes les demandes différentes de Un port spécifié (par défaut, 80 et 443 | HTTP et HTTPS). P>

Ce sujet est vraiment complexe mais prenons ceci comme exemple. Vous avez trois sites différents que vous souhaitez héberger sur votre serveur. P>

vous pourrait em> utiliser docker code> avec nginx code> (nginx est un serveur Web, comme IIS ou Apache) et Nginx-proxy code> pour configurer le scénario parfait. Je posterai du code que j'utilise personnellement sur mon VPS si une personne est interessée. P>

J'ai un dockerfile code> pour construire le conteneur principal: P>

docker build -t my-site .
docker run -d -p 80:80 my-site


0 commentaires

1
votes

Techniquement, vous auriez besoin d'un service pour héberger votre application Web, pas nécessairement un serveur Web ces jours-ci.

Hébergement

Server Web

Lorsque vous choisissez d'utiliser un serveur Web, il pourrait être soit un serveur dédié au serveur ou à un serveur . Vous utiliseriez un serveur dédié lorsque vous vous attendez à une grande quantité de trafic consommant une quantité élevée de CPU et d'utilisation de la mémoire.

Si vous hébergez un site de mise en scène ou de démonstration, vous pouvez utiliser un service STARD , où plusieurs sites hébergés / applications Web utilisent la même adresse Server / IP. En utilisant hôtes virtuels , le serveur peut déterminer pour quel domaine la requête est (par exemple my-webapp.com) et affichant l'application Web correcte. Ce n'est pas facile à configurer, mais il existe de nombreux services qui facilitent l'hébergement de plusieurs applications Web d'un serveur. Un exemple est Runcloud .

Hébergement statique

Vous pouvez également héberger votre application Web de Cloud Storage Services, comme Amazon S3 ou Microsoft Azure Stockage . Ceci est également idéal pour tirer parti des avantages des services de CDN.

Heroku (et / ou autres)

Vous pouvez également utiliser un service comme Heroku pour gérer et héberger votre application Web. Voici un article pour commencer avec Angulaire et Heroku .

Bâtiment

Avant de Déployer votre application Web à l'une de ces solutions ou d'autres solutions, vous devez construire / préparer votre application en utilisant le Construire processus. Assurez-vous d'examiner la documentation angulaire sur déploiement et payer Attention à la réécriture d'URL (pour les serveurs Web) ou aux exigences de secours pour l'hébergement statique.


0 commentaires