GNU/Linux >> Tutoriels Linux >  >> OpenSuse

Comment installer et configurer Nginx en tant que proxy OpenSUSE Leap 15.3

Dans ce guide, nous allons apprendre à installer Nginx dans OpenSUSE Leap 15.3 et à le configurer en tant que serveur proxy. Nous allons mettre en place un hôte virtuel Nginx qui transmettra une requête d'un domaine à un service écoutant sur un port.

Contenu associé

  • Comment installer et configurer PHP et Nginx (LEMP) sur Ubuntu 20.04
  • Comment installer la pile Apache PHP 7.4 (LAMP) sur Rocky Linux/Centos 8
  • Comment installer et configurer PHP et Nginx (LEMP) sur Debian 11
  • Comment installer et configurer PHP et Apache (pile LAMP) sur Debian 11

Table des matières

  1. S'assurer que le serveur est à jour
  2. Installer Nginx sur OpenSUSE Leap 15.3
  3. Démarrer et activer le service Nginx dans OpenSUSE
  4. Configuration du service proxy
  5. Création d'un hôte virtuel Nginx pour proxy la demande
  6. Tester la configuration

1. S'assurer que le serveur est à jour

Avant de continuer, il est toujours recommandé de s'assurer que le serveur est à jour. Utilisez ces commandes pour y parvenir

sudo zypper refresh
sudo zypper update -y

2. Installation de Nginx sur OpenSUSE Leap 15.3

Nginx, en tant que serveur Web stable, performant et avec une très faible consommation de ressources. Nginx a une architecture asynchrone beaucoup plus évolutive, basée sur les événements.

Nginx est disponible dans les dépôts UpenSUSE par défaut. Installez-le à l'aide de cette commande :

sudo zypper install -y nginx

Confirmez le nginx installé

~> 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. Démarrage et activation du service nginx

Le service Nginx installé n'est pas démarré par défaut. Pour démarrer le service, utilisez cette commande :

sudo systemctl start nginx

Confirmez que le service est opérationnel à l'aide de cette commande :

~> 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.

Pour activer le service au démarrage, utilisez cette commande :

sudo systemctl enable nginx

4. Configuration du service de proxy

Dans cet exemple, nous allons utiliser un service simple que j'ai déjà construit. J'ai un service golang ici mais n'hésitez pas à utiliser votre service.

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

Testez le service

➜ 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. Création d'un hôte virtuel Nginx pour proxy la requête

Nginx vous permet de desservir plusieurs sites à l'aide d'hôtes virtuels. Le concept d'hôtes virtuels autorise plusieurs sites Web sur un système ou un serveur Web. Les serveurs sont différenciés par leur nom d'hôte. Les visiteurs du site Web sont acheminés par nom d'hôte ou adresse IP vers l'hôte virtuel approprié. L'hébergement virtuel permet aux entreprises partageant un serveur d'avoir chacune leur propre nom de domaine.

Un bloc de serveur Nginx peut être utilisé pour encapsuler les détails de configuration et héberger plusieurs domaines sur un même serveur. Nous allons créer un hébergeur virtuel pour notre site (site1.citizix.com ).

Les configurations des hôtes virtuels Nginx sont stockées dans le répertoire /etc/nginx/conf.d/ . Créons une configuration pour notre site :

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

Ajoutez le contenu suivant

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;
    }
}

Redémarrons le nginx pour que la configuration s'applique :

sudo systemctl restart nginx

6. Test de la configuration

Dans cet exemple, nous utiliserons le domaine site1.citizix.com pour l'hôte virtuel mais soyez libre d'utiliser le domaine de votre choix. Veuillez noter que le DNS du domaine à utiliser doit déjà être configuré pour pointer vers l'adresse IP du serveur. Confirmez cela avec :

dig -t A site1.citizix.com

Si vous n'avez pas encore configuré vos paramètres DNS ou si vous ne voulez tout simplement pas que le site soit encore en ligne, vous pouvez modifier le fichier hosts de votre ordinateur. Pour ce faire, utilisez la commande suivante dans la CLI de votre ordinateur local

sudo vim /etc/hosts

Ensuite, ajoutez l'adresse IP de votre serveur actuel suivie du nom de domaine que vous configurez, par exemple :

10.2.11.11 site1.citizix.com

Avec cette configuration, nous pouvons faire une demande à notre domaine. Pour moi ça marche bien !

➜ 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!

Conclusion

Nous avons réussi à installer et à configurer Nginx pour qu'il agisse en tant que proxy dans ce guide !


OpenSuse
  1. Comment installer PostgreSQL et phpPgAdmin sur OpenSUSE Leap 42.1

  2. Comment installer Seafile avec Nginx sur openSUSE Leap 42.1

  3. Comment installer Nginx avec PHP-FPM et MySQL sur openSUSE 12.1

  4. Comment installer et utiliser Podman dans OpenSUSE Leap 15.3

  5. Comment installer Java 17 dans OpenSUSE Leap 15.3

Comment installer WordPress avec HHVM et Nginx sur OpenSUSE Leap 42.1

Comment installer un bureau KDE OpenSUSE Leap 42.1

Comment installer ownCloud 9 avec Nginx sur OpenSUSE Leap 42.1

Comment installer Skype sur openSUSE Leap

Comment installer NGINX sur openSUSE

Comment installer Dropbox sur openSUSE Leap 42.2