У меня есть решение, которое определено от c до Python Панель инструментов Ploty, написанная со слоем абстракции с именем Da sh. Я ожидаю, что подобное исправление может быть найдено для всех приложений Plotly, но не реализовало его. Приложение Da sh Plotly может быть изменено, чтобы понять suburi вызова. Если веб-URL http://example.com/energy
, то внутри приложения Plotly требуется простое изменение.
Начните со стандартного стандартного раздела:
app = dash.Dash(__name__,
meta_tags=[
{
"name": "viewport",
"content": "width=device-width"
}
]
)
, чтобы включить последнюю часть сети адрес
app = dash.Dash(__name__,
meta_tags=[
{
"name": "viewport",
"content": "width=device-width"
}
],
requests_pathname_prefix='/energy/'
)
app.config.suppress_callback_exceptions = True
В последней строке есть кое-что, что я обнаружил в списке Plotly одновременно, я не знаю, жизненно ли это важно.
В документации для пассажиров я обнаружил, что проблема sub-uri является серьезной для всех видов приложений, кроме Rails, где у них есть решение исключительно для пассажиров. Все это не очень хорошо задокументировано. Но у них есть предупреждение в node.js документах (https://www.phusionpassenger.com/library/deploy/nginx/deploy/nodejs/):
Sub-URI deployments in Node.js require framework-specific
adjustments in the application. For example, in Express 4.0+,
you should use a router. An alternative is to use url
rewriting to avoid the need for sub-URIs altogether.
В списке выпусков Passenger GitHub я создал запрос на детализацию документации по " использование переписывания URL-адресов ", поскольку в большинстве случаев это представляется единственным действительно возможным ответом (https://github.com/phusion/passenger/issues/2254). Для меня нереально определить фиксированные c фиксированные для каждого случая исправления для каждого приложения node.js, которое мы хотим запустить.
Точно так же, как все понимают ситуацию, структура фреймворка Passenger действительно помогает сервер в нужную папку, но когда придет время действительно запустить приложение, nginx & Passenger, по причинам, которые я не понимаю, вернитесь к запуску первого приложения, которое они найдут в файле конфигурации. Как только вы исправите это, чтобы каждое приложение знало, как его вызывать - может быть, nginx читает их объявления ?? - тогда это работает.