Kuidas seadistada NGINX-i pöördproksi Ubuntu 22.04-s
NGINX-i kasutamine pöördproksina on levinud valik. Selle seadistamiseks tuleb vaid NGINX paigaldada, luua konfiguratsioonifail ja kohandada serveri seadeid. Samuti saad Gunicorni abil kontrollida, kas seadistamine õnnestus.
Kuidas seadistada NGINX pöördproksina
Pöördproksid aitavad suurendada turvalisust, paindlikkust ja ressursside kättesaadavust. Need asuvad kliendi ja serveri vahel ning on kasutajatele märkamatud. NGINX-i pöördproksi on sissetulevate päringute jaoks väga soovitatav lahendus. Allpool selgitame, kuidas seda Ubuntu 22.04-le installida ja seadistada.
Millised on NGINX-i kui pöördproksi süsteeminõuded?
NGINX-i pöördproksi seadistamiseks Ubuntu 22.04-s on vaja järgmist:
- Täielikult seadistatud Ubuntu-server
- Serveri IP-aadress või Unixi domeeni pistik
- Teie serveri domeen
sudoõigust serverile
NGINX-i paigaldamine pöördproksina
Esmalt uuendage oma pakettide hoidla terminali kaudu, et saada juurdepääs uusimatele pakettidele. Seejärel installige NGINX apt install käsuga. Siin on kood:
$ sudo apt update
$ sudo apt install nginxbashKinnitage valikuga [Y] ja vajutage klahvi [Enter], et seaded salvestada.
Seejärel seadista tulemüür nii, et NGINX-il oleks juurdepääs su serverile. Erandi lisamiseks võid kasutada järgmist käsku:
$ sudo ufw allow 'Nginx HTTP'bashSeejärel kontrollige, kas paigaldamine õnnestus:
$ systemctl status nginxbashKui NGINX on õigesti paigaldatud, peaksite saama järgmise väljundi:
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"bashKonfiguratsioonifaili loomine ja serveri seadistamine
Nüüd saate oma serveriblokki seadistada, et valmistada ette NGINX-i pöördproksi oma süsteemi jaoks. Selleks looge ja avage tekstiredaktoriga Nano uus konfiguratsioonifail. Sisestage järgmine käsk ja asendage kindlasti asendusmärk „your_domain“ oma domeeni nimega:
$ sudo nano /etc/nginx/sites-available/your_domainbashKui fail on avatud, lisage järgmine sisu. Asendage asendusmärgid „your_domain” ja „server_address” oma serveri domeeni ja IP-aadressi või Unixi domeeni pistikuga:
server {
listen 80;
listen [::]:80;
server_name your_domain www.your_domain;
location / {
proxy_pass http://server_address;
include /etc/nginx/proxy_params;
}
}txtSalvestage ja sulgege fail. Näidatud sisu on NGINXi vaikimisi seadistus. See kasutab porti 80, et vastata teie domeeni ja serveri päringutele. proxy_pass on NGINXi pöördproksina toimimise seisukohalt oluline komponent. Vajaduse korral saate seadistada ka täiendavaid servereid.
Seejärel loo link kataloogile sites-enabled, millele NGINX alguses juurde pääseb. Kasuta järgmist käsku ja ära unusta asendada asendussõna „your_domain“:
$ sudo ln -s /etc/nginx/sites-available/your_domain/etc/nginx/sites-enabled/bashKontrollige, kas teie konfiguratsioonis on vigu:
$ sudo nginx -tbashKui veateateid ei ilmu, võite nüüd NGINX-i pöördproksi taaskäivitada, et seaded jõustuksid. Selleks sisestage järgmine käsk:
$ sudo systemctl restart nginxbashNüüd on NGINXi seadistamine pöördproksina lõpetatud. Järgmises jaotises selgitame, kuidas proksit kontrollida. See testimine on aga vabatahtlik.
NGINX-i pöördproksi kontrollimine Gunicorni abil
Kui soovid oma NGINX-i pöördproksit testida, saad selleks tavaliselt kasutada oma serverit. Kui kasutad oma serverit, ava see käsurealt. Teise võimalusena võid kasutada kerget HTTP-veebiserverit Gunicorn, mis töötab NGINX-i pöördproksiga väga hästi. Esmalt uuenda paketid ja installeeri server:
$ sudo apt update
$ sudo apt install gunicornbashSeejärel loo lihtne funktsioon, mida saata brauserile HTTP-vastusena. Kasuta taas nano-t:
$ nano test.pybashAva fail ja sisesta järgmine kood:
def app(environ, start_response):
start_response("200 OK", [])
return iter([b"This is a test"])txtSeejärel salvesta ja sulge fail. Seejärel käivita Gunicorn ja ava testmoodul:
$ gunicorn --worker=2 test:appbashVäljund peaks umbes selline välja nägema:
[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: 10570bashSee on kinnitus, et Gunicorn suhtleb aadressiga http://127.0.0.1:8000. Lõpuks ava oma veebibrauser ja mine NGINXiga seadistatud domeenile. NGINXi pöördproksi kuvab sõnumi „This is a test“.