GNU/Linux >> Znalost Linux >  >> OpenSuse

Jak nainstalovat a nastavit Nginx jako proxy OpenSUSE Leap 15.3

V této příručce se naučíme, jak nainstalovat Nginx v OpenSUSE Leap 15.3 a nastavit jej jako proxy server. Nastavíme virtuálního hostitele Nginx, který odesílá požadavek z domény na službu naslouchající na portu.

Související obsah

  • Jak nainstalovat a nastavit PHP a Nginx (LEMP) na Ubuntu 20.04
  • Jak nainstalovat Apache PHP 7.4 (LAMP) stack na Rocky Linux/Centos 8
  • Jak nainstalovat a nastavit PHP a Nginx (LEMP) v Debianu 11
  • Jak nainstalovat a nastavit PHP a Apache (zásobník LAMP) na Debian 11

Obsah

  1. Zajištění aktuálnosti serveru
  2. Instalace Nginx na OpenSUSE Leap 15.3
  3. Spuštění a povolení služby Nginx v OpenSUSE
  4. Nastavení služby proxy
  5. Vytvoření virtuálního hostitele Nginx pro proxy požadavek
  6. Testování konfigurace

1. Zajištění aktuálnosti serveru

Než budete pokračovat, je vždy dobré se ujistit, že je server aktuální. K tomu použijte tyto příkazy

sudo zypper refresh
sudo zypper update -y

2. Instalace Nginx na OpenSUSE Leap 15.3

Nginx, jako stabilní vysoce výkonný webový server s velmi nízkou spotřebou zdrojů. Nginx má asynchronní architekturu, která je mnohem škálovatelnější na základě událostí.

Nginx je k dispozici ve výchozím úložišti UpenSUSE. Nainstalujte jej pomocí tohoto příkazu:

sudo zypper install -y nginx

Potvrďte nainstalovaný nginx

~> zypper info nginx
Loading repository data...
Reading installed packages...


Information for package nginx:
------------------------------
Repository     : Main Repository
Name           : nginx
Version        : 1.19.8-3.6.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 2.2 MiB
Installed      : Yes
Status         : up-to-date
Source package : nginx-1.19.8-3.6.1.src
Summary        : A HTTP server and IMAP/POP3 proxy server
Description    :
    nginx [engine x] is a HTTP server and IMAP/POP3 proxy server written by Igor Sysoev.
    It has been running on many heavily loaded Russian sites for more than two years.

3. Spuštění a povolení služby nginx

Nainstalovaná služba Nginx se ve výchozím nastavení nespouští. Pro spuštění služby použijte tento příkaz:

sudo systemctl start nginx

Pomocí tohoto příkazu ověřte, že je služba spuštěna:

~> sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
     Active: active (running) since Mon 2021-12-20 18:56:15 UTC; 36s ago
    Process: 31740 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
   Main PID: 31741 (nginx)
      Tasks: 2 (limit: 4587)
     CGroup: /system.slice/nginx.service
             ├─31741 nginx: master process /usr/sbin/nginx -g daemon off;
             └─31742 nginx: worker process

Dec 20 18:56:15 ip-10-2-40-44 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Dec 20 18:56:15 ip-10-2-40-44 nginx[31740]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Dec 20 18:56:15 ip-10-2-40-44 nginx[31740]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Dec 20 18:56:15 ip-10-2-40-44 systemd[1]: Started The nginx HTTP and reverse proxy server.

Chcete-li službu povolit při spouštění, použijte tento příkaz:

sudo systemctl enable nginx

4. Nastavení služby pro proxy

V tomto příkladu použijeme jednoduchou službu, kterou jsem již vytvořil. Mám zde službu golang, ale neváhejte využít vaši službu.

➜ /tmp/gosimple
2021/12/20 23:38:34 service running, listening on 3000

Otestujte službu

➜ curl -iL http://127.0.0.1:3000/
HTTP/1.1 200 OK
Date: Mon, 20 Dec 2021 20:39:01 GMT
Content-Length: 12
Content-Type: text/plain; charset=utf-8

Hello World!

5. Vytvoření virtuálního hostitele Nginx pro proxy požadavek

Nginx vám umožňuje obsluhovat více webů pomocí virtuálních hostitelů. Koncept virtuálních hostitelů umožňuje více než jeden web na jednom systému nebo webovém serveru. Servery se rozlišují podle názvu hostitele. Návštěvníci webu jsou směrováni podle názvu hostitele nebo adresy IP na správný virtuální hostitel. Virtuální hosting umožňuje společnostem sdílejícím jeden server, z nichž každý má své vlastní názvy domén.

Bloky serveru Nginx lze použít k zapouzdření podrobností o konfiguraci a hostování více než jedné domény na jednom serveru. Chystáme se vytvořit virtuálního hostitele pro naše stránky (site1.citizix.com ).

Konfigurace virtuálních hostitelů Nginx jsou uloženy v adresáři /etc/nginx/conf.d/ . Pojďme vytvořit konfiguraci pro náš web:

sudo vim /etc/nginx/conf.d/site1.citizix.com.conf

Přidejte následující obsah

server {
    listen 80;
    server_tokens off;
    client_max_body_size 100M;
    server_name site1.citizix.com;

    access_log /var/log/nginx/site1.citizix.com.log;
    error_log  /var/log/nginx/site1.citizix.com.log;

    root /opt/simpleapp;

    if ($host !~* ^(site1.citizix.com)$) {
        return 444;
    }

    location / {
        proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
        proxy_pass http://127.0.0.1:3000;
    }
}

Restartujeme nginx, aby se konfigurace uplatnila:

sudo systemctl restart nginx

6. Testování konfigurace

V tomto příkladu použijeme doménu site1.citizix.com pro virtuálního hostitele, ale můžete volně používat doménu dle svého výběru. Upozorňujeme, že DNS pro doménu, která má být použita, by již měla být nakonfigurována tak, aby ukazovala na IP adresu serveru. Potvrďte to pomocí:

dig -t A site1.citizix.com

Pokud jste ještě nenakonfigurovali nastavení DNS nebo jednoduše nechcete, aby byl web ještě spuštěn, můžete upravit soubor hostitelů svého počítače. Chcete-li to provést, použijte následující příkaz v CLI místního počítače

sudo vim /etc/hosts

Poté přidejte IP adresu vašeho skutečného serveru následovanou názvem domény, kterou konfigurujete, například:

10.2.11.11 site1.citizix.com

S tímto nastavením můžeme odeslat požadavek na naši doménu. Pro mě to funguje dobře!

➜ curl -iL http://site1.citizix.com
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 20 Dec 2021 20:51:42 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 12
Connection: keep-alive

Hello World!

Koneckonců

Podařilo se nám nainstalovat a nastavit Nginx, aby v této příručce fungoval jako proxy!


OpenSuse
  1. Jak nainstalovat PostgreSQL a phpPgAdmin na OpenSUSE Leap 42.1

  2. Jak nainstalovat Seafile s Nginx na openSUSE Leap 42.1

  3. Jak nainstalovat Nginx s PHP-FPM a MySQL na openSUSE 12.1

  1. Jak nainstalovat Mongodb 5 v Opensuse Leap 15.3

  2. Jak nainstalovat Java 17 v OpenSUSE Leap 15.3

  3. Jak nainstalovat a nastavit PHP a Apache (zásobník LAMP) na OpenSUSE Leap 15.3

  1. Jak nainstalovat a nakonfigurovat Mariadb 10 v OpenSUSE Leap 15.3

  2. Jak nainstalovat a nastavit PHP a Nginx (LEMP) na OpenSUSE Leap 15.3

  3. Jak nainstalovat a nakonfigurovat Squid Proxy na OpenSUSE Leap 11