# 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ä.

Vinkki Meillä on myös ohjeet NGINX:n asentamiseen Ubuntu 20.04:ään. Lisätietoja [välityspalvelimesta](https://www.ionos.com/fi-fi/digitalguide/palvelin/osaaminen/mikae-on-vaelityspalvelin/) löydät täältä.

### 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
- `sudo` palvelimen 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:

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

Vahvista valinnalla \[Y\] ja paina \[Enter\] vahvistaaksesi asetukset.

Määritä seuraavaksi palomuuri niin, että NGINX pääsee palvelimellesi. Voit lisätä poikkeuksen seuraavalla komennolla:

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

Tarkista sitten, että asennus onnistui:

```bash
$ systemctl status nginx
```

Jos NGINX on asennettu oikein, saat seuraavanlaisen tulosteen:

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

### Mää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:

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

Kun tiedosto on auki, lisää siihen seuraava sisältö. Korvaa paikkamerkit ”your\_domain” ja ”server\_address” palvelimesi verkkotunnuksella ja IP-osoitteella tai Unix-verkkosocketilla:

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

Tallenna 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”:

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

Tarkista, onko asetuksissasi virheitä:

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

Jos et näe virheilmoituksia, voit nyt käynnistää NGINX-käänteisen välityspalvelimen uudelleen, jotta asetukset tulevat voimaan. Tee se kirjoittamalla seuraava komento:

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

NGINX: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:

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

Luo sitten yksinkertainen funktio, joka lähetetään HTTP-vastauksena selaimeesi. Käytä jälleen nano-komentoa:

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

Avaa tiedosto ja kirjoita seuraava koodi:

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

Tallenna ja sulje tiedosto. Käynnistä sen jälkeen Gunicorn ja avaa testimoduuli:

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

Tuloksen pitäisi näyttää suunnilleen tältä:

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

Tä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”.


This is a markdown version of: [https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/nginx-kaeaenteisvaelityspalvelin/](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/nginx-kaeaenteisvaelityspalvelin/) for AI/LLM consumption.