GNU/Linux >> Znalost Linux >  >> Linux

Doporučené postupy při spouštění Node.js s portem 80 (Ubuntu / Linode)

Udělte bezpečnému uživateli oprávnění k použití portu 80

Pamatujte, že NECHCEME spouštět vaše aplikace jako uživatel root, ale je tu háček:váš bezpečný uživatel nemá oprávnění používat výchozí port HTTP (80). Vaším cílem je umět publikovat web, který budou moci návštěvníci používat, když přejdou na snadno použitelnou adresu URL, jako je http://ip:port/

Bohužel, pokud se nepřihlásíte jako root, budete normálně muset použít adresu URL jako http://ip:port - kde číslo portu> 1024.

Hodně lidí se tu zasekne, ale řešení je snadné. Existuje několik možností, ale tato se mi líbí. Zadejte následující příkazy:

sudo apt-get install libcap2-bin
sudo setcap cap_net_bind_service=+ep `readlink -f \`which node\``

Když nyní řeknete aplikaci Node, že chcete, aby běžela na portu 80, nebude si stěžovat.

Zkontrolujte tento referenční odkaz


Port 80

Na svých cloudových instancích přesměruji port 80 na port 3000 pomocí tohoto příkazu:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000

Potom spustím svůj Node.js na portu 3000. Požadavky na port 80 se namapují na port 3000.

Měli byste také upravit /etc/rc.local a přidejte tento řádek mínus sudo . To přidá přesměrování, když se počítač spustí. Nepotřebujete sudo v /etc/rc.local protože příkazy tam běží jako root při spuštění systému.

Protokoly

Pomocí modulu forever spusťte svůj Node.js. Zajistí, že se restartuje, pokud někdy dojde k selhání, a přesměruje protokoly konzoly do souboru.

Spustit při spuštění

Přidejte svůj startovací skript Node.js do souboru, který jste upravili pro přesměrování portu, /etc/rc.local . Tím se spustí spouštěcí skript Node.js při spuštění systému.

Digitální oceán a další VPS

To platí nejen pro Linode, ale také pro Digital Ocean, AWS EC2 a další poskytovatele VPS. Nicméně na systémech založených na RedHat /etc/rc.local je /ect/rc.d/local .


Linux
  1. Nainstalovat Vsftpd s SSL / TLS na Ubuntu 20.04 - Nejlepší postup?

  2. 8 osvědčených postupů se sudo v Linuxu – co dělat a co nedělat sudo

  3. .bash_profile není při spuštění Su?

  1. Ubuntu – Spuštění příkazu po vložení Cd/dvd/bd?

  2. Node.js:Zkontrolujte, zda je soubor symbolickým odkazem při iteraci přes adresář s 'fs'

  3. Zkoumání více portů při spuštění NetCat (nc)

  1. Jak spravovat verze NodeJS s n v Ubuntu 20.04

  2. Změna portu SSH na systému Linux Ubuntu 20.04 – nejlepší metoda?

  3. Začínáme s Multipass – spouštění virtuálních počítačů Ubuntu