# Kaip įdiegti NGINX atvirkštinį proxy „Ubuntu 22.04“

NGINX naudojimas kaip atvirkštinio proxy serverio yra populiarus sprendimas. Norint jį sukonfigūruoti, tereikia įdiegti NGINX, sukurti konfigūracijos failą ir pakoreguoti serverio nustatymus. Taip pat galite patikrinti, ar konfigūracija pavyko, naudodami Gunicorn.

## Kaip sukonfigūruoti NGINX kaip atvirkštinį tarpinį serverį

Atvirkštiniai proxy serveriai gali padėti padidinti **saugumą, lankstumą ir išteklių prieinamumą**. Jie įdiegiami tarp kliento ir serverio, todėl vartotojai jų nepastebi. NGINX atvirkštinis proxy serveris yra labai rekomenduojamas sprendimas gaunamiems užklausimams. Toliau paaiškinsime, kaip jį įdiegti ir sukonfigūruoti „Ubuntu 22.04“ sistemoje.

Tip Taip pat turime instrukcijas, kaip įdiegti NGINX sistemoje „Ubuntu 20.04“. O daugiau apie tai, kas yra [proxy serveris](https://www.ionos.com/lt-lt/digitalguide/serveris/zinios/kas-yra-tarpinis-serveris/), galite paskaityti čia.

### Kokie yra sistemos reikalavimai, kad „NGINX“ veiktų kaip atvirkštinis proxy?

Norėdami įdiegti NGINX atvirkštinį proxy „Ubuntu 22.04“ sistemoje, jums reikės:

- Pilnai sukonfigūruotas „Ubuntu“ serveris
- Serverio IP adresas arba Unix domeno lizdas
- Jūsų serverio domenas
- `sudo` privilegijų serveriui

### NGINX įdiegimas kaip atvirkštinio proxy serverio

Pirmiausia atnaujinkite savo paketų saugyklą naudodami terminalą, kad galėtumėte **naudotis naujausiais paketais**. Tada įdiekite NGINX naudodami `apt install` komandą. Štai kodas:

```bash
$ sudo apt update
$ sudo apt install nginx
```

Patvirtinkite spausdami \[Y\] ir paspauskite \[Enter\], kad nustatymas įsigaliotų.

Toliau sukonfigūruokite ugniasienę taip, kad „NGINX“ turėtų prieigą prie jūsų serverio. Išimtį galite pridėti naudodami šią komandą:

```bash
$ sudo ufw allow 'Nginx HTTP'
```

Tada patikrinkite, ar įdiegimas pavyko:

```bash
$ systemctl status nginx
```

Jei „NGINX“ buvo įdiegtas teisingai, ekrane turėtų pasirodyti toks tekstas:

```bash
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"
```

### Konfigūracijos failo sukūrimas ir serverio pritaikymas

Dabar galite sukonfigūruoti serverio bloką, kad parengtumėte NGINX atvirkštinį proxy savo sistemai. Tam sukurkite ir atidarykite **naują konfigūracijos failą** naudodami teksto redaktorių „Nano“. Įveskite šią komandą ir būtinai pakeiskite vietą „your\_domain“ savo domeno pavadinimu:

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

Atidarius failą, įterpkite šį turinį. Pakeiskite vietos laikiklius „your\_domain“ ir „server\_address“ savo serverio domenu ir IP adresu arba Unix domeno lizdu:

```txt
server {
    listen 80;
    listen [::]:80;
    server_name your_domain www.your_domain;
        
    location / {
        proxy_pass http://server_address;
        include /etc/nginx/proxy_params;
    }
}
```

Išsaugokite ir uždarykite failą. Pateiktas turinys atitinka **numatytuosius NGINX nustatymus**. Jis naudoja 80-ąjį prievadą, kad atsakytų į užklausas iš jūsų domeno ir serverio. `proxy_pass` yra esminė NGINX, veikiančio kaip atvirkštinio proxy serverio, funkcijos dalis. Prireikus taip pat galite sukonfigūruoti papildomus serverius.

Toliau sukurkite nuorodą į katalogą `sites-enabled`, kurį NGINX pasiekia paleidimo metu. Naudokite šią komandą ir nepamirškite pakeisti vietos žymės „your\_domain“:

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

Patikrinkite, ar konfigūracijoje nėra klaidų:

```bash
$ sudo nginx -t
```

Jei neatsiranda jokių klaidų pranešimų, dabar galite iš naujo paleisti NGINX atvirkštinį proxy, kad nustatymai įsigaliotų. Tam įveskite šią komandą:

```bash
$ sudo systemctl restart nginx
```

Dabar baigėte konfigūruoti NGINX kaip atvirkštinį proxy. Kitoje dalyje paaiškinsime, kaip patikrinti proxy veikimą. Tačiau šis testavimas nėra privalomas.

### NGINX atvirkštinio proxy serverio tikrinimas naudojant Gunicorn

Jei nuspręsite išbandyti savo NGINX atvirkštinį proxy, paprastai tam galite naudoti savo serverį. Jei naudojate savo serverį, atidarykite jį per komandinę eilutę. Taip pat galite naudoti lengvą **HTTP žiniatinklio serverį „Gunicorn“**, kuris puikiai veikia su NGINX atvirkštiniu proxy. Pirmiausia atnaujinkite paketus ir įdiekite serverį:

```bash
$ sudo apt update
$ sudo apt install gunicorn
```

Tada sukurkite paprastą funkciją, kurią naršyklė gaus kaip HTTP atsakymą. Vėl naudokite „nano“:

```bash
$ nano test.py
```

Atidarykite failą ir įveskite šį kodą:

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

Tada išsaugokite ir uždarykite failą. Po to paleiskite „Gunicorn“ ir atidarykite bandomąjį modulį:

```bash
$ gunicorn --worker=2 test:app
```

Rezultatas turėtų atrodyti maždaug taip:

```bash
[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
```

Tai patvirtina, kad „Gunicorn“ bendrauja su adresu `http://127.0.0.1:8000`. Galiausiai **atidarykite naršyklę** ir pereikite į domeną, kurį sukonfigūravote naudojant „NGINX“. „NGINX“ atvirkštinis proxy parodys pranešimą „Tai yra bandymas“.


This is a markdown version of: [https://www.ionos.com/lt-lt/digitalguide/serveris/konfiguracija/nginx-atvirkstinis-tarpinis-serveris/](https://www.ionos.com/lt-lt/digitalguide/serveris/konfiguracija/nginx-atvirkstinis-tarpinis-serveris/) for AI/LLM consumption.