Breve descripción

Si tiene un sistema de base de datos remoto con una biblioteca cliente, es posible que no desee que la base de datos sea directamente accesible a Internet, sino que utilice un servidor web como Nginx para administrar la comunicación del cliente con la base de datos.

Este artículo proporciona instrucciones paso a paso sobre cómo configurar Nginx para conectarse directamente a la base de datos PostgreSQL.

Nota especial: la página de hosting de Hosting mas Baratotiene los mejores servidores web en esta categoría, incluidas las calificaciones de expertos y usuarios.

Información general

Nginx es un servidor web muy popular en este momento. Ofrece la posibilidad de alojar sitios web de gran tamaño y tráfico. No solo es barato, sino que también puede servir para múltiples propósitos, tales como: B. como servidor web o proxy inverso. El uso de PostgreSQL con Nginx como servidor web es una excelente manera de proteger la base de datos de los depredadores en línea, ya que no está directamente expuesta a Internet.

Configurar nginx para interactuar con PostgreSQL

Instalar PostgreSQL

Obtenga nuevos paquetes de PostgreSQL con el comando apt-get e instale los adicionales –Contrib Paquete que nos brinda algunas características adicionales.

$ sudo apt-get update
$ sudo apt-get install postgresql postgresql-contrib

Eso es. Ahora podemos repasar cómo funciona.

Usando PostgreSQL

PostgreSQL usa “roles” para la autenticación y autorización. PostgreSQL utilizado ident Autenticación. Si existe un “rol” en Postgres, un nombre de usuario de Linux con el mismo nombre que el rol puede iniciar sesión en ese rol.

Cambiar a la cuenta de Postgres

Se abrió una cuenta de usuario estándar durante nuestra instalación postgres creado. Para que podamos usar Postgres, debemos iniciar sesión en esta cuenta. Cambie al postgres Tipo de cuenta ingrese lo siguiente;

$ sudo -i  -u postgres

Acceda al indicador de Postgres escribiendo:

$  psql

PostgreSQL ya está disponible

Utilice el siguiente comando para crear una base de datos llamada Mytest.

postgres=# CREATE DATABASE mytest;

Crea un usuario llamado “Wambui” con una contraseña “Mypass” con el siguiente comando

CREATE USER wambui WITH PASSWORD 'mypass';

Conceder Wambui, creado por encima del acceso a la nueva base de datos mi prueba con este comando

GRANT ALL PRIVILEGES ON DATABASE mytest TO wambui;

Instale y configure Nginx.

De forma predeterminada, Apache es el servidor web. Sin embargo, nos gustaría configurar PostgreSQL con Nginx como servidor web. Por eso vamos a instalar Nginx.

sudo apt-get install nginx

Automáticamente iniciará Nginx como servidor web. También puede iniciar el servicio manualmente con este comando.

sudo service nginx start

ngx_postgres

Se requieren módulos adicionales para que Nginx se comunique con PostgreSQL. Para instalar los módulos, ejecute el siguiente comando asumiendo que la ruta de instalación es / opt / nginx

./configure --prefix=/opt/nginx 

           --add-module=/path/to/ngx_postgres

           --add-module=/path/to/rds-json-nginx-module

           --add-module=/path/to/form-input-nginx-module

           --add-module=/path/to/ngx_devel_kit

           make -j2

           make install

La comunicación directa con PostgreSQL se realiza a través de ngx_postgres Este es un módulo ascendente. La respuesta está en rds y es compatible con ngx_rds_json y ngx_drizzle.

La configuración de ejemplo en este tutorial devuelve el contenido del personal de la tabla en formato rds.

http {
   upstream database {
       postgres_server  127.0.0.1 dbname=mytest
                        user=wambui password=mypass;
   }
   server {
       location / {
           postgres_pass   database;
           postgres_query  "select * from employees";
       }
   }
}

Conclusión

Ahora que hemos instalado la base de datos PostgreSQL, ahora podemos combinar dos de las herramientas más poderosas de Internet, PostgreSQL y Nginx. Una combinación de estas dos tecnologías mejora la seguridad de la base de datos y la web.

Consulte los 3 mejores servicios de hosting de Linux