2016-10-09 2 views
0

Je veux héberger mon propre serveur et base de données sur mon ordinateur, je ne veux pas payer tous les mois pour les services. J'ai développé une application node.js et utilise une base de données postgresql. J'ai un domaine avec une application angulaire et l'application doit utiliser les données du serveur. Est-ce que quelqu'un peut me dire comment je peux faire cela et quel système d'exploitation serait le meilleur?Comment héberger le serveur Node.Js et la base de données PostgreSQL depuis mon ordinateur?

Merci!

+0

Tout système d'exploitation. Vous avez juste besoin d'obtenir un IP statique + configurer votre routeur pour un accès public. –

+0

Ceci est généralement une très mauvaise idée et ouvre votre maison à toutes sortes de problèmes si vous ne savez pas ce que vous faites (et si vous posez cette question, vous n'avez probablement pas). Il existe des options * gratuites * comme Heroku, choisissez-en une à la place. – Paul

+0

Avez [mon message ci-dessous] (http://stackoverflow.com/questions/39941955/how-to-host-node-js-server-and-postgresql-database-from-my-computer/39944271#39944271) répondre à votre question? Si c'est le cas, vous pouvez considérer [en acceptant la réponse] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235) parce que d'autres personnes recherchent actuellement ce problème voit que votre question n'a pas de bonne réponse et ne peut pas le lire. S'il n'a pas répondu à votre question, veuillez commenter ce qui manque. Je passe en revue mes anciennes réponses et je veux les améliorer si elles ne sont pas claires. Merci – rsp

Répondre

0

Vous devez faire peu de choses pour que cela fonctionne. D'abord, votre application Angular doit pouvoir se connecter à votre serveur domestique, de sorte qu'elle ait besoin d'une adresse IP statique accessible de l'extérieur, d'une adresse IP dynamique avec DNS dynamique ou d'un VPN.

  • Votre serveur doit correctement prendre en charge CORS afin que votre application Angular puisse s'y connecter. Il enverra des requêtes OPTIONS que votre serveur doit gérer correctement.
  • Assurez-vous que votre serveur est toujours allumé, que la connexion Internet est fiable, que l'alimentation est fiable et que vos services sont correctement redémarrés au redémarrage.
  • Assurez-vous que votre serveur est toujours à jour avec les correctifs de sécurité, qu'il est configuré correctement et n'utilise aucun logiciel ni service inutile. Pour (1) vous avez beaucoup d'options et tout dépend si vous avez une adresse IP statique ou dynamique, si elle est accessible par internet, etc. que vous n'avez pas incluse dans votre réponse. Pour (2) cela dépend du framework Node que vous utilisez pour votre application côté serveur que vous n'avez pas inclus dans votre question. Vous devez utiliser un moyen de configurer CORS spécifique à l'infrastructure que vous utilisez.

    Le (3) est dur dans l'environnement domestique mais c'est important parce que pendant n'importe quel temps d'arrêt vos utilisateurs ne pourront pas utiliser votre application. Le (4) est critique dans l'environnement domestique, car si quelqu'un pénètre dans votre serveur, il aura accès à votre réseau domestique, ce qui peut avoir des conséquences différentes qui pénètrent dans un centre de données. Une autre option serait d'utiliser un fournisseur VPS pas cher comme Digital Ocean où vous pouvez obtenir un serveur pour 5 $ par mois (ou 2 mois gratuitement avec this link), ce qui peut être moins compliqué que la configuration de votre propre serveur - pour lequel vous devez payer pour l'électricité, gérer le matériel, surveiller la connectivité, etc.

    Si vous choisissez un VPS alors (1) nous avons pris soin de vous - vous obtenez votre propre adresse IP statique accessible du monde entier, (3) (4) est relativement facile à faire et le plus gros problème est de s'assurer que CORS fonctionne comme il se doit - mais ici vous pouvez héberger votre API sur le même domaine que votre interface et vous n'avez pas besoin de s'inquiéter du CORS du tout. Si vous obtenez un VPS, vous pouvez héberger votre application Angular depuis le même serveur afin de ne pas avoir à vous en coûter plus cher.

  • +0

    J'ai tout essayé dans le passé - serveurs cloud, serveurs domestiques, hébergement mutualisé et hébergement dédié. En fin de compte, je suis arrivé à la conclusion que si vous avez un vrai produit, alors la meilleure façon de dépenser votre argent est un serveur dédié. Juste ainsi, le plus gros problème avec l'hébergement cloud - augmentation disproportionnelle des coûts que vous optez pour un meilleur matériel/débit. Le serveur domestique est une blague, vous êtes mieux lotis avec l'hébergement partagé. –