web-dev-qa-db-fra.com

Comment attribuer un nom de domaine au serveur node.js?

J'ai un serveur node.ja listining au port 4000, l'URL pour accéder au service est quelque chose comme ceci:

http://42.12.251.830:4000

J'ai acheté un nom de domaine

www.mychat.com

Comment puis-je l'attribuer à mon serveur? J'ai d'abord utilisé le transfert, mais je ne pouvais plus utiliser location.hash pour ajouter un canal de discussion à l'URL. Ensuite, j'ai utilisé quelque chose comme Header-Redirect. Le service est désormais accessible sous mychat.com, mais pas sous www.mychat.com. De plus, le nom de domaine n'est pas affiché dans la fenêtre du navigateur. Pour ma chaîne de discussion, j'ai besoin de quelque chose comme ceci:

www.mychat.com/#238husd4
36
user2535056

Vous n'affectez pas de domaine à un serveur node.js, au lieu de cela, vous chargez votre application sur une machine qui a une adresse IP, qui dans votre cas est 42.12.251.830:4000. Vous devez ensuite vous assurer que votre app écoute sur le bon port, qui sur la plupart des serveurs est 80

en utilisant express c'est aussi simple que

var app = express()
  , server = require('http').createServer(app)
  , io = io.listen(server);

app.get('/', function(req, res) {
  res.sendfile('./public/index.html');
});
server.listen(80);

obtenir maintenant un nom de domaine pour pointer vers cette adresse ip est une question entièrement distincte. Vous devez faire votre serveur de noms pointer vers l'ip. Votre serveur de noms sera généralement la société auprès de laquelle vous avez acheté le nom de domaine, par exemple GoDaddy est un serveur de noms de domaine (DNS). Donc, si vous aviez un nom de domaine avec eux, vous iriez sur leur site sous Paramètres DNS et changeriez l'adresse IP. Votre nom de domaine pointera alors vers votre adresse IP et devrait rendre votre application node.js.

30
Loourr