Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

314
Views
Archivo de configuración NGINX para la arquitectura de subcarpetas de microservicios

Tenga paciencia conmigo, ya que no tengo mucha experiencia en la configuración de Nginx.

Quiero crear microservicios como subcarpetas. por ejemplo: www.ejemplo.com/usuarios

USUARIOS es el microservicio, por lo que USUARIOS también será el nombre de la subcarpeta.

El sitio web se puede alojar en /var/www/html/ o /var/www/html/example.com/public_html (suponiendo que este sea para esta pregunta)

Entonces, dentro de la carpeta principal, /var/www/html/example.com/public_html, hay muchas carpetas, cada una de las cuales representa un microservicio.

 /var/www/html/example.com/public_html/users/ /var/www/html/example.com/public_html/students/ /var/www/html/example.com/public_html/teachers/ /var/www/html/example.com/public_html/parents/

Cada microservicio tendrá una carpeta más reciente que contiene el código que se ejecutará.

 /var/www/html/example.com/public_html/users/latest/

Cada carpeta más reciente tiene 2 carpetas: APLICACIÓN que contiene el código de interfaz de usuario de SPA y API que contiene el código de API

 /var/www/html/example.com/public_html/users/latest/app/ /var/www/html/example.com/public_html/users/latest/api/

Me gustaría agregar y eliminar carpetas según sea necesario sin realizar cambios en el archivo de configuración de Nginx. Si la carpeta existe, me gustaría que se muestre el código front-end relevante. más 404

Soy consciente de que puedo agregar las carpetas según sea necesario en la ubicación de Nginx, pero eso no es lo que quiero.

(NO QUIERO HACER EL CÓDIGO ABAJO)

 location /users { alias /var/www/html/example.com/public_html/users/latest/app } location /api/users { alias /var/www/html/example.com/public_html/users/latest/api }

Estoy tratando de averiguar si puedo configurar NGINX para que apunte a la carpeta relevante según la URL.

Esto es lo que tengo hasta ahora, pero solo se muestra como 404 para todo lo que estoy intentando. Estoy trabajando para escribir la API en Go-lang, pero como tengo experiencia en el uso de PHP, tomaré esa ruta primero antes de cambiar a Go.

 server { listen 80; listen [::]:80; server_name _; root /var/www/html/example.com/public_html; index index.html; location ^/<service>/<additional-optional-parameters-can-go-here>$ { root /var/www/html/example.com/public_html/<service>/latest/app; try_files $uri $uri/ =404 } location ^/api/<service>/<additional-optional-parameters-can-go-here>$ { root /var/www/html/example.com/public_html/<service>/latest/api; try_files $uri $uri/ =404 location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; } } location ~ /\.ht { deny all; } }

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Creo que puedes usar expresiones regulares en la ubicación y las líneas del servidor.

Tal vez eso ayude

 server_name ~^(?<subdomain>.+)\.domain\.tdl$ ~^(?<subdomain>.+)\.domain2\.tdl$ domain.tdl domain2.tdl; location ~ ^/sitename/[0-9a-z]+/index.php$ { fastcgi_pass phpcgi; } location ~ \.php$ { return 404; } location ~ ^/a/b/(?<myvar>[a-zA-Z]+) { # use variable $myvar here if ($myvar = "sth") { ... } } # Example using the subdomain var created in last steps sub_filter_once off; sub_filter 'Site Text' '$subdomain'; sub_filter 'Site Text' '$myvar';

Personalmente, me gusta crear diferentes archivos conf para cada servicio, luego emitir una "recarga de nginx de servicio". Quizás también podría automatizar la generación de archivos conf.

over 4 years ago · Santiago Trujillo Report

0

En caso de que alguien más esté intentando un enfoque similar. Entré en Freelancer.com y contraté a alguien para que me ayudara.

 location ~ ^/api/([az]+)/.*?$ { alias $folder_path/$1/$api_path; rewrite ^/api/([az]+)/.*?$ /$1/$api_path last; } location ~ ^/([az]+)/(?:(?!\blatest\b).)*$ { alias $folder_path/$1/$app_path; rewrite ^/([az]+)/(?:(?!\blatest\b).)*$ /$1/$app_path last; }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!