Пожалуйста, потерпите меня, поскольку у меня нет большого опыта настройки Nginx.
Я хочу создавать микроуслуги как подпапки. Например: www.example.com/users
USERS - это микро-сервис, поэтому USERS также будет именем подпапки.
Веб-сайт может быть размещен в / var / www/html/ или / var / www/html/example.com/public_html (Предполагается, что это вопрос)
Итак, внутри главной папки / var / www/html/example.com/public_html есть много папок, каждая из которых представляет микро-сервис.
/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/
В каждой микросервисе будет самая последняя папка, содержащая код для выполнения.
/var/www/html/example.com/public_html/users/latest/
В каждой последней папке есть 2 папки - APP, которая содержит код переднего плана SPA, и API, в котором находится код API
/var/www/html/example.com/public_html/users/latest/app/
/var/www/html/example.com/public_html/users/latest/api/
Я хотел бы добавлять и удалять папки по мере необходимости, не внося изменений в файл конфигурации Nginx. Если папка существует, я бы хотел, чтобы отображался соответствующий код переднего плана. Еще 404
Я знаю, что могу добавлять папки по мере необходимости в Nginx месте, но это не то, что я хочу.
(НЕ ХОЧУ ДЕЛАТЬ НИЖЕ КОД)
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
}
Я пытаюсь выяснить, могу ли я настроить NGINX, чтобы он указывал на соответствующую папку на основе URL.
Это то, что у меня пока есть, но это просто показывает как 404 за все, что я пытаюсь. Я работаю над написанием API на Go -lang, но, поскольку у меня есть опыт использования PHP, я сначала выбираю этот маршрут, прежде чем переключиться на 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;
}
}