GNU/Linux >> Znalost Linux >  >> Linux

Jak nastavit Apache jako frontend proxy pro Node.js

Apache je nejpopulárnější webový server. Apache můžete také použít jako frontendový proxy server pro backendové aplikace, jako je Node.js. Tento tutoriál vám pomůže nastavit váš server Apache jako frontend proxy server pro vaši aplikaci Node.js pomocí jednoduchých kroků.

Před zahájením

  • Používám instanci Ubuntu 18.04 hostovanou na DigitalOcean.
  • Nainstalovali jste nejnovější verzi Node.js pomocí tohoto výukového programu na tomto počítači se systémem Linux.

Krok 1 – Vytvořte vzorovou aplikaci uzlu

Jak jste tady 🙂 Musíte mít spuštěnou aplikaci Node.js na nějakém portu. Předpokládáme, že svou aplikaci provozujete na portu 3000. Pro účely demonstrace vytvářím ukázkovou webovou aplikaci na Node.js a běží na portu 3000. Bude to pro vás tedy srozumitelnější.

nano myapp.js 

Poté do souboru JavaScript přidejte následující obsah.

var http = require('http');

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World');
}).listen(3000, "127.0.0.1");
console.log('Server running at http://127.0.0.1:3000/');

Vaše aplikace Node je připravena k poskytování na portu 3000. Spusťte aplikaci Node.js na pozadí.

node myapp.js & 

A přístup k tomu v prohlížeči. Výsledek uvidíte jako níže:

Krok 2 – Instalace serveru Apache

Nyní nainstalujte webový server Apache pomocí výchozího správce balíčků. Systémy založené na Ubuntu a Debianu používají apt, Fedora a CentOS/RHEL 8 používají DNF a CentOS/RHEL 7/6 používá yum. Balíčky Apache jsou dostupné pod výchozími repozitáři na téměř operačních systémech.

sudo apt install apache2   ### Debians based systems 
sudo dnf install httpd     ### Fedora & CentOS 8 

Po instalaci webového serveru Apache musíte mít povolený modul Proxy. Tento modul je povolen v Apache pro uživatele, kteří nainstalovali pomocí balíčků rpm. Pokud nemáte povoleno, upravte konfiguraci Apache /etc/httpd/conf/httpd.conf nebo pro Apache 2.4 /etc/httpd/conf.modules.d/00-proxy.conf soubor a odkomentujte následující řádky nebo je vložte do souboru.

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

Pro systémy založené na Debianu použijte následující příkaz k povolení modulu Proxy s Apache.

sudo a2enmod proxy proxy_http 

Krok 3 – Konfigurace virtuálního hostitele Apache

Jak jste nakonfigurovali a spustili ukázkový server Node.js. Nyní spusťte konfiguraci s webovým serverem Apache. Vytvořte konfigurační soubor virtuálního hostitele pro vaši doménu pod /etc/apache2/sites-available/ adresář.

### Debian based system's 
sudo nano /etc/apache2/sites-available/example.com.conf 

### Redhat based system's 
sudo vim /etc/httpd/conf.d/example.com.conf 

a přidejte následující obsah.

Apache
1234567 ServerName example.com ProxyPreserveHost On ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/

Po vytvoření konfigurace restartujte webový server Apache pomocí následujícího příkazu.

### Debian based system's 
sudo a2ensite example.com 
sudo systemctl restart apache2 

### Redhat based system's 
sudo systemctl restart httpd 

Krok 5 – Ověřte nastavení

Nyní přejděte na svůj server pomocí názvu domény, stejná stránka se zobrazí na adrese http://127.0.0.1:3000/ .

Závěr

Provedli jste konfiguraci proxy serveru Apache pro backend aplikace Node.js. Alternativně má Nginx lepší výkon jako proxy server, takže pokud nejste svázáni s Apache, použijte proxy server Nginx.


Linux
  1. Jak nainstalovat Node.js na Debian 10 a nakonfigurovat Nginx jako frontend proxy server

  2. Nastavte Apache Traffic Server jako reverzní proxy v systému Linux

  3. Jak nastavit proxy server squid na CentOS/RHEL 7

  1. Jak nakonfigurovat Nginx jako webový server a reverzní proxy pro Apache na CentOS 8

  2. Jak nastavit Nginx jako reverzní proxy pro Apache na Debianu 11

  3. Jak nastavit WordPress na serveru Ubuntu s Apache

  1. Jak nainstalovat Apache ve FreeBSD

  2. Jak nainstalovat Apache ve Fedoře 20

  3. Jak nainstalovat Apache na Debian 7