GNU/Linux >> Tutoriales Linux >  >> OpenSuse

Cómo instalar y configurar Nginx como proxy OpenSUSE Leap 15.3

En esta guía, aprenderemos cómo instalar Nginx en OpenSUSE Leap 15.3 y configurarlo como un servidor proxy. Configuraremos un host virtual Nginx que envía una solicitud de un dominio a un servicio que escucha en un puerto.

Contenido relacionado

  • Cómo instalar y configurar PHP y Nginx (LEMP) en Ubuntu 20.04
  • Cómo instalar la pila Apache PHP 7.4 (LAMP) en Rocky Linux/Centos 8
  • Cómo instalar y configurar PHP y Nginx (LEMP) en Debian 11
  • Cómo instalar y configurar PHP y Apache (pila LAMP) en Debian 11

Tabla de contenido

  1. Asegurarse de que el servidor esté actualizado
  2. Instalación de Nginx en OpenSUSE Leap 15.3
  3. Iniciar y habilitar el servicio Nginx en OpenSUSE
  4. Configurar el servicio de proxy
  5. Creación de host virtual Nginx para representar la solicitud
  6. Probar la configuración

1. Asegurarse de que el servidor esté actualizado

Antes de continuar, siempre es una buena práctica asegurarse de que el servidor esté actualizado. Usa estos comandos para lograr esto

sudo zypper refresh
sudo zypper update -y

2. Instalación de Nginx en OpenSUSE Leap 15.3

Nginx, como servidor web estable de alto rendimiento y con un consumo de recursos muy bajo. Nginx tiene una arquitectura asíncrona que es mucho más escalable, basada en eventos.

Nginx está disponible en los repositorios predeterminados de UpenSUSE. Instálalo usando este comando:

sudo zypper install -y nginx

Confirme el nginx instalado

~> 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. Iniciar y habilitar el servicio nginx

El servicio Nginx instalado no se inicia de forma predeterminada. Para iniciar el servicio, use este comando:

sudo systemctl start nginx

Confirme que el servicio está activo y funcionando con este comando:

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

Para habilitar el servicio en el arranque, use este comando:

sudo systemctl enable nginx

4. Configuración del servicio de proxy

En este ejemplo, usaremos un servicio simple que ya he construido. Tengo un servicio de golang aquí, pero siéntase libre de usar su servicio.

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

Probar el servicio

➜ 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. Creación de host virtual Nginx para proxy de la solicitud

Nginx le permite atender múltiples sitios utilizando hosts virtuales. El concepto de hosts virtuales permite más de un sitio web en un sistema o servidor web. Los servidores se diferencian por su nombre de host. Los visitantes del sitio web se enrutan por nombre de host o dirección IP al host virtual correcto. El alojamiento virtual permite que las empresas que comparten un servidor tengan sus propios nombres de dominio.

Se pueden usar bloques de servidor Nginx para encapsular detalles de configuración y alojar más de un dominio en un solo servidor. Vamos a crear un host virtual para nuestro sitio (site1.citizix.com ).

Las configuraciones de hosts virtuales de Nginx se almacenan en el directorio /etc/nginx/conf.d/ . Vamos a crear una configuración para nuestro sitio:

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

Agrega el siguiente contenido

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

Reiniciemos el nginx para que se aplique la configuración:

sudo systemctl restart nginx

6. Probando la configuración

En este ejemplo, usaremos el dominio site1.citizix.com para el host virtual, pero tenga la libertad de usar el dominio de su elección. Tenga en cuenta que el DNS del dominio que se utilizará ya debe estar configurado para apuntar a la dirección IP del servidor. Confirme eso con:

dig -t A site1.citizix.com

Si aún no ha configurado su configuración de DNS o simplemente no desea que el sitio se active todavía, puede modificar el archivo de hosts de su computadora. Para hacer esto, use el siguiente comando en la CLI de su computadora local

sudo vim /etc/hosts

Luego, agregue la dirección IP de su servidor real seguido del nombre de dominio que está configurando, por ejemplo:

10.2.11.11 site1.citizix.com

Con esa configuración podemos hacer una solicitud a nuestro dominio. ¡Para mí funciona 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!

Conclusión

¡Hemos logrado instalar y configurar Nginx para que actúe como proxy en esta guía!


OpenSuse
  1. Cómo instalar PostgreSQL y phpPgAdmin en OpenSUSE Leap 42.1

  2. Cómo instalar Seafile con Nginx en openSUSE Leap 42.1

  3. Cómo instalar Mongodb 5 en Opensuse Leap 15.3

  4. Cómo instalar y configurar PHP y Apache (pila LAMP) en OpenSUSE Leap 15.3

  5. Cómo instalar y configurar Mariadb 10 en OpenSUSE Leap 15.3

Cómo instalar WordPress con HHVM y Nginx en OpenSUSE Leap 42.1

Cómo instalar un escritorio KDE OpenSUSE Leap 42.1

Cómo instalar ownCloud 9 con Nginx en OpenSUSE Leap 42.1

Cómo instalar Skype en openSUSE Leap

Cómo instalar NGINX en openSUSE

Cómo instalar Dropbox en openSUSE Leap 42.2