Я много искал и не смог найти ответ, поэтому решил опубликовать здесь.
Я настроил свое приложение Rails для работы с Capistrano, и все работает хорошо (приложение отлично работает на моем сервере).
Моя проблема заключается в том, что мне нужно структурировать свой сервер, и я хотел быобратитесь к моему приложению по URL myserver.com/api/app_name, но мое приложение будет работать по адресу myserver.com/ (даже если я развернул его в / var / www / api / app_name).
Мой вопрос таков: как я могу получить доступ к корню моего API только с помощью URL myserver.com/api/app_name, а не с myserver.com?
Я уже развернул 2 API в / var /www / api, и я хочу, чтобы каждый из них находился в myserver.com/api/app_name1, myserver.com/api/app_name2 ....
Если я хочу это сделать, это получить доступ к API с помощью моегоfront SPA.
Я думаю, что он находится в доступной на сайте папке nginx, но я попробовал кое-что, и это не сработало.
Я не изменил файл nginx.conf.
Мой сайт-файл / имя_приложения:
upstream puma_app_name_production {
server unix:/var/www/api/app_name/shared/tmp/sockets/puma.sock fail_timeout=0;
}
server {
listen 80;
server_name localhost app_name.local;
root /var/www/api/app_name/current/public;
try_files $uri/index.html $uri @puma_app_name_production;
client_max_body_size 4G;
keepalive_timeout 10;
error_page 500 502 504 /500.html;
error_page 503 @503;
location @puma_app_name_production {
root /var/www/api/app_name/current/public;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-Forwarded-Proto http;
proxy_pass http://puma_app_name_production;
# limit_req zone=one;
access_log /var/www/api/app_name/shared/log/nginx.access.log;
error_log /var/www/api/app_name/shared/log/nginx.error.log;
}
Я использую Puma и Nginx (я не использую пассажиров).
Если вам нужна какая-либо другая информация, просто спросите меня.
Я благодарю вас за вашу помощь.