NGINX-i ka­su­ta­mine pöörd­prok­sina on levinud valik. Selle sea­dis­ta­miseks tuleb vaid NGINX pai­gal­dada, luua kon­fi­gu­rat­sioo­ni­fail ja kohandada serveri seadeid. Samuti saad Gunicorni abil kont­rol­lida, kas sea­dis­ta­mine õnnestus.

Kuidas sea­dis­tada NGINX pöörd­prok­sina

Pöörd­prok­sid aitavad suu­ren­dada tur­va­li­sust, paind­lik­kust ja res­surs­side kät­te­saa­da­vust. Need asuvad kliendi ja serveri vahel ning on ka­su­ta­ja­tele mär­ka­ma­tud. NGINX-i pöörd­proksi on sis­se­tu­le­vate päringute jaoks väga soo­vi­ta­tav lahendus. Allpool selgitame, kuidas seda Ubuntu 22.04-le ins­tal­lida ja sea­dis­tada.

Millised on NGINX-i kui pöörd­proksi süs­tee­mi­nõu­ded?

NGINX-i pöörd­proksi sea­dis­ta­miseks Ubuntu 22.04-s on vaja järgmist:

  • Täie­li­kult sea­dis­ta­tud Ubuntu-server
  • Serveri IP-aadress või Unixi domeeni pistik
  • Teie serveri domeen
  • sudo õigust serverile

NGINX-i pai­gal­da­mine pöörd­prok­sina

Esmalt uuendage oma pakettide hoidla terminali kaudu, et saada juur­de­pääs uusi­ma­tele pa­ket­ti­dele. Seejärel ins­tal­lige NGINX apt install käsuga. Siin on kood:

$ sudo apt update
$ sudo apt install nginx
bash

Kinnitage valikuga [Y] ja vajutage klahvi [Enter], et seaded sal­ves­tada.

Seejärel seadista tulemüür nii, et NGINX-il oleks juur­de­pääs su serverile. Erandi li­sa­miseks võid kasutada järgmist käsku:

$ sudo ufw allow 'Nginx HTTP'
bash

Seejärel kont­rol­lige, kas pai­gal­da­mine õnnestus:

$ systemctl status nginx
bash

Kui NGINX on õigesti pai­gal­da­tud, 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"
bash

Kon­fi­gu­rat­sioo­ni­faili loomine ja serveri sea­dis­ta­mine

Nüüd saate oma ser­ve­rib­lokki sea­dis­tada, et val­mis­tada ette NGINX-i pöörd­proksi oma süsteemi jaoks. Selleks looge ja avage teks­ti­re­dak­toriga Nano uus kon­fi­gu­rat­sioo­ni­fail. Sisestage järgmine käsk ja asendage kindlasti asen­dus­märk „your_domain“ oma domeeni nimega:

$ sudo nano /etc/nginx/sites-available/your_domain
bash

Kui fail on avatud, lisage järgmine sisu. Asendage asen­dus­mär­gid „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;
    }
}
txt

Sal­ves­tage ja sulgege fail. Näidatud sisu on NGINXi vaikimisi seadistus. See kasutab porti 80, et vastata teie domeeni ja serveri pä­rin­gu­tele. proxy_pass on NGINXi pöörd­prok­sina toimimise sei­su­ko­halt oluline komponent. Vajaduse korral saate sea­dis­tada ka täien­da­vaid servereid.

Seejärel loo link ka­ta­loo­gile sites-enabled, millele NGINX alguses juurde pääseb. Kasuta järgmist käsku ja ära unusta asendada asen­dus­sõna „your_domain“:

$ sudo ln -s /etc/nginx/sites-available/your_domain/etc/nginx/sites-enabled/
bash

Kont­rol­lige, kas teie kon­fi­gu­rat­sioo­nis on vigu:

$ sudo nginx -t
bash

Kui vea­tea­teid ei ilmu, võite nüüd NGINX-i pöörd­proksi taas­käi­vi­tada, et seaded jõus­tuk­sid. Selleks sisestage järgmine käsk:

$ sudo systemctl restart nginx
bash

Nüüd on NGINXi sea­dis­ta­mine pöörd­prok­sina lõpetatud. Järgmises jaotises selgitame, kuidas proksit kont­rol­lida. See testimine on aga va­ba­taht­lik.

NGINX-i pöörd­proksi kont­rol­li­mine Gunicorni abil

Kui soovid oma NGINX-i pöörd­prok­sit testida, saad selleks ta­va­li­selt kasutada oma serverit. Kui kasutad oma serverit, ava see käsurealt. Teise või­ma­lu­sena võid kasutada kerget HTTP-vee­bi­ser­ve­rit Gunicorn, mis töötab NGINX-i pöörd­prok­siga väga hästi. Esmalt uuenda paketid ja ins­tal­leeri server:

$ sudo apt update
$ sudo apt install gunicorn
bash

Seejärel loo lihtne funkt­sioon, mida saata brau­se­rile HTTP-vastusena. Kasuta taas nano-t:

$ nano test.py
bash

Ava fail ja sisesta järgmine kood:

def app(environ, start_response):
	start_response("200 OK", [])
	return iter([b"This is a test"])
txt

Seejärel salvesta ja sulge fail. Seejärel käivita Gunicorn ja ava test­moo­dul:

$ gunicorn --worker=2 test:app
bash

Vä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: 10570
bash

See on kinnitus, et Gunicorn suhtleb aad­res­siga http://127.0.0.1:8000. Lõpuks ava oma vee­bib­rau­ser ja mine NGINXiga sea­dis­ta­tud domeenile. NGINXi pöörd­proksi kuvab sõnumi „This is a test“.

Go to Main Menu