web-dev-qa-db-fra.com

Comment exécuter météore sur un autre port

Comment exécuter meteor sur un autre port, par exemple sur le port 80. J'ai essayé d'utiliser meteor --port 80, mais le message d'erreur Error: listen EACCES s'affiche.

aidez-moi s'il vous plaît.

8
Widada

On dirait que cela pourrait être un problème d'accès sur votre machine.

Découvrez cette réponse suivante, qui pourrait être liée à votre question. Citant:

"En règle générale, les processus exécutés sans privilèges root ne peuvent pas être liés à des ports inférieurs à 1024.

Essayez donc un port supérieur ou exécutez-le avec des privilèges élevés via Sudo. "

Ainsi, vous pouvez voir que Sudo meteor run avec votre numéro de port fonctionnera, mais que vous pouvez vous attaquer à la cause première, à savoir la correction du privilège racine du nœud.

Erreur Node.js EACCES lors de l'écoute sur la plupart des ports

13
David Kim

Vous ne pouvez pas vous lier aux ports <1024 sur les systèmes d'exploitation Linux/Unix avec un compte non privilégié.

Vous pourriez contourner cela en exécutant météore en tant que root, mais c'est une très mauvaise idée. En mode de développement, une exécution en tant que root modifiera les autorisations des fichiers du répertoire de votre application. En production, c'est juste un trou de sécurité géant. Ne jamais exécuter une application de météore en tant que root .

La liste ci-dessous répertorie les meilleures pratiques en fonction de votre environnement.

Développement

Exécuter météore sur un numéro de port élevé. La valeur par défaut est 3 000 lorsque vous ne spécifiez pas d'argument --port. Connectez-vous à celui-ci via l'URL imprimée dans la console - par exemple. http://localhost:3000/.

Production

Ici vous avez deux choix:

  • Exécutez météore sur un numéro de port élevé et connectez-le au monde extérieur via un proxy inverse tel que nginx ou HAProxy .

  • Démarrer le serveur Web en tant que root, mais retirez les autorisations une fois qu'il est exécuté en utilisant quelque chose comme userdown . Voici comment mup qui, incidemment, est probablement ce que vous devriez utiliser pour déployer votre application.

10
David Weldon

lancez-le avec Sudo

Sudo meteor --port 80
7
MurWade

Vous pouvez utiliser meteor run --port 8080, c'est du travail ...

1
Fadi M. Moubasaleh