Kuinka asentaa NGINX-käänteisvälityspalvelin Ubuntu 22.04:ään
NGINX:n käyttö käänteisvälityspalvelimena on suosittu vaihtoehto. Asennuksen suorittamiseksi riittää, että asennat NGINX:n, luot konfiguraatiotiedoston ja muokkaat palvelimen asetuksia. Voit myös testata, onko asennus onnistunut, Gunicornin avulla.
Kuinka asettaa NGINX käänteisvälityspalvelimeksi
Käänteisvälityspalvelimet voivat parantaa tietoturvaa, joustavuutta ja resurssien saatavuutta. Ne sijoitetaan asiakkaan ja palvelimen väliin, eikä käyttäjä huomaa niiden olemassaoloa. NGINX-käänteisvälityspalvelin on erittäin suositeltava ratkaisu saapuviin pyyntöihin. Seuraavassa selitämme, miten se asennetaan ja määritetään Ubuntu 22.04:ssä.
Mitkä ovat NGINX:n järjestelmävaatimukset käänteisvälityspalvelimena käytettäessä?
NGINX-käänteisen välityspalvelimen asentaminen Ubuntu 22.04:ään edellyttää seuraavia asioita:
- Täysin konfiguroitu Ubuntu-palvelin
- Palvelimen IP-osoite tai Unix-verkkosoketti
- Palvelimesi verkkotunnus
sudopalvelimen käyttöoikeutta
NGINX:n asentaminen käänteisvälityspalvelimeksi
Päivitä ensin pakettivarastosi komentoriviltä, jotta saat käyttöösi uusimmat paketit. Asenna sitten NGINX komennolla apt install. Tässä on koodi:
$ sudo apt update
$ sudo apt install nginxbashVahvista valinnalla [Y] ja paina [Enter] vahvistaaksesi asetukset.
Määritä seuraavaksi palomuuri niin, että NGINX pääsee palvelimellesi. Voit lisätä poikkeuksen seuraavalla komennolla:
$ sudo ufw allow 'Nginx HTTP'bashTarkista sitten, että asennus onnistui:
$ systemctl status nginxbashJos NGINX on asennettu oikein, saat seuraavanlaisen tulosteen:
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2024-06-24 06:52:46 UTC; 39min ago
Docs: man:nginx(8)
Main PID: 9919 (nginx)
Tasks: 2 (limit: 2327)
Memory: 2.9M
CPU: 50ms
CGroup: /system.slice/nginx.service
├─9919 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─9920 "nginx: worker process"bashMääritystiedoston luominen ja palvelimen mukauttaminen
Nyt voit määrittää palvelinlohkon, jotta NGINX-käänteisvälityspalvelin on valmis käytettäväksi järjestelmässäsi. Luo ja avaa tätä varten uusi määritystiedosto Nano-tekstieditorilla. Kirjoita seuraava komento ja muista korvata paikkamerkki ”your_domain” omalla verkkotunnuksellasi:
$ sudo nano /etc/nginx/sites-available/your_domainbashKun tiedosto on auki, lisää siihen seuraava sisältö. Korvaa paikkamerkit ”your_domain” ja ”server_address” palvelimesi verkkotunnuksella ja IP-osoitteella tai Unix-verkkosocketilla:
server {
listen 80;
listen [::]:80;
server_name your_domain www.your_domain;
location / {
proxy_pass http://server_address;
include /etc/nginx/proxy_params;
}
}txtTallenna ja sulje tiedosto. Näkyvissä oleva sisältö on NGINX:n oletusasetukset. Se käyttää porttia 80 vastatakseen verkkotunnuksesi ja palvelimesi pyyntöihin. proxy_pass on olennainen osa NGINX:n toimintaa käänteisvälityspalvelimena. Tarvittaessa voit määrittää myös muita palvelimia.
Luo seuraavaksi linkki hakemistoon sites-enabled, johon NGINX pääsee alussa. Käytä seuraavaa komentoa ja muista korvata paikkamerkki ”your_domain”:
$ sudo ln -s /etc/nginx/sites-available/your_domain/etc/nginx/sites-enabled/bashTarkista, onko asetuksissasi virheitä:
$ sudo nginx -tbashJos et näe virheilmoituksia, voit nyt käynnistää NGINX-käänteisen välityspalvelimen uudelleen, jotta asetukset tulevat voimaan. Tee se kirjoittamalla seuraava komento:
$ sudo systemctl restart nginxbashNGINX:n määrittäminen käänteisvälityspalvelimeksi on nyt valmis. Seuraavassa osassa kerromme, miten välityspalvelin testataan. Testaus on kuitenkin vapaaehtoista.
NGINX-käänteisen välityspalvelimen tarkistaminen Gunicornin avulla
Jos haluat testata NGINX-käänteisvälityspalvelinta, voit yleensä käyttää siihen omaa palvelintasi. Jos käytät omaa palvelintasi, avaa se komentotulkilla. Vaihtoehtoisesti voit käyttää kevyttä Gunicorn-HTTP-verkkopalvelinta, joka toimii erinomaisesti NGINX-käänteisvälityspalvelimen kanssa. Päivitä ensin paketit ja asenna palvelin:
$ sudo apt update
$ sudo apt install gunicornbashLuo sitten yksinkertainen funktio, joka lähetetään HTTP-vastauksena selaimeesi. Käytä jälleen nano-komentoa:
$ nano test.pybashAvaa tiedosto ja kirjoita seuraava koodi:
def app(environ, start_response):
start_response("200 OK", [])
return iter([b"This is a test"])txtTallenna ja sulje tiedosto. Käynnistä sen jälkeen Gunicorn ja avaa testimoduuli:
$ gunicorn --worker=2 test:appbashTuloksen pitäisi näyttää suunnilleen tältä:
[2024-06-24 07:09:29 +0000] [10568] [INFO] Starting gunicorn 20.1.0
[2024-06-24 09:14:37 +0000] [10568] [INFO] Listening at: http://127.0.0.1 (10568)
[2024-06-24 09:14:37 +0000] [10568] [INFO] Using worker: sync
[2024-06-24 09:14:37 +0000] [10569] [INFO] Booting worker with pid: 10569
[2024-06-24 09:14:37 +0000] [10570] [INFO] Booting worker with pid: 10570bashTämä vahvistaa, että Gunicorn on yhteydessä osoitteeseen http://127.0.0.1:8000. Avaa lopuksi selaimesi ja siirry NGINX:llä määrittämääsi verkkotunnukseen. NGINX:n käänteisvälityspalvelin näyttää viestin ”This is a test”.