В настоящее время я пытаюсь определить, как правильно установить passenger_base_uri при запуске пассажира в автономном режиме. Я попытался переопределить nginx.conf.erb, чтобы включить passenger_base_uri, я также попытался установить блок местоположения, как указано на
https://www.phusionpassenger.com/library/deploy/nginx/deploy/ruby/#deploying-an-app-to-a-sub-uri
Оба этих метода дали странный результат случайного обслуживания 404-х.
Было бы любопытно, если бы существовал простой способ настроить это для отдельного приложения (похоже, что в какой-то момент могла быть опция переменной среды, чтобы разрешить это?).
Я не пытаюсь развернуть несколько приложений на одном пассажирском сервере, я просто пытаюсь изменить контекст одного приложения без необходимости изменять маршруты.
Версии с пассажирского статуса:
nginx / 1.12.2 Phusion_Passenger / 5.2.3
Обновление:
Я попробовал на последней версии пассажира (6.0.1) и до сих пор вижу случайные 404. Я также попытался повысить уровень ведения журнала для пассажира, и кажется, что существует проблема, при которой некоторые процессы пассажиров не устанавливают надлежащим образом значение «SCRIPT_NAME» до прохождения запроса. Я не могу воспроизвести эту ошибку локально, но могу надежно воспроизвести ее в развернутом экземпляре.
Один и тот же пид, обслуживающий 404 и 200 с:
# passenger-status && curl -I -k https://127.0.0.1/test/meta/availability
Version : 6.0.1
Date : 2019-01-23 00:31:59 +0000
Instance: 36X3YTqe (nginx/1.15.8 Phusion_Passenger/6.0.1)
----------- General information -----------
Max pool size : 10
App groups : 1
Processes : 10
Requests in top-level queue : 0
----------- Application groups -----------
/opt/app (production):
App root: /opt/app
Requests in queue: 0
* PID: 129 Sessions: 0 Processed: 59 Uptime: 12m 55s
CPU: 0% Memory : 68M Last used: 1s ago
* PID: 152 Sessions: 0 Processed: 1 Uptime: 12m 54s
CPU: 0% Memory : 45M Last used: 12m 54s ago
* PID: 176 Sessions: 0 Processed: 0 Uptime: 12m 54s
CPU: 0% Memory : 41M Last used: 12m 54s ago
* PID: 202 Sessions: 0 Processed: 0 Uptime: 12m 53s
CPU: 0% Memory : 41M Last used: 12m 53s ago
....
HTTP/1.1 200 OK
Date: Wed, 23 Jan 2019 00:32:00 GMT
X-Powered-By: Phusion Passenger 6.0.1
Server: nginx/1.15.8 + Phusion Passenger 6.0.1
# passenger-status && curl -I -k https://127.0.0.1/test/meta/availability
Version : 6.0.1
Date : 2019-01-23 00:32:01 +0000
Instance: 36X3YTqe (nginx/1.15.8 Phusion_Passenger/6.0.1)
----------- General information -----------
Max pool size : 10
App groups : 1
Processes : 10
Requests in top-level queue : 0
----------- Application groups -----------
/opt/app (production):
App root: /opt/app
Requests in queue: 0
* PID: 129 Sessions: 0 Processed: 60 Uptime: 12m 57s
CPU: 0% Memory : 68M Last used: 1s ago
* PID: 152 Sessions: 0 Processed: 1 Uptime: 12m 56s
CPU: 0% Memory : 45M Last used: 12m 56s ago
* PID: 176 Sessions: 0 Processed: 0 Uptime: 12m 56s
CPU: 0% Memory : 41M Last used: 12m 56s ago
* PID: 202 Sessions: 0 Processed: 0 Uptime: 12m 55s
CPU: 0% Memory : 41M Last used: 12m 55s ago
....
HTTP/1.1 404 Not Found
Date: Wed, 23 Jan 2019 00:32:01 GMT
X-Powered-By: Phusion Passenger 6.0.1
Server: nginx/1.15.8 + Phusion Passenger 6.0.1