Мы пытаемся развернуть несколько dash-приложений, используя один и тот же конфигурационный файл, но разные wsgi-файлы.Прямо сейчас это то, что у нас есть, и когда мы запускаем его, на странице написано «ошибка загрузки» макета.
Наш конфигурационный файл и wsgi-файлы показаны ниже:
Config-файл:
WSGIPythonPath /var/www/test/test1:/var/www/test/test2
<VirtualHost *:8084>
ServerName <example ip>
ServerAdmin youremail@mail.com
WSGIScriptAlias /test1 /var/www/test/wsgi-files/test1.wsgi
<Directory /var/www/test/test1/>
Require all granted
</Directory>
Alias /test1/static /var/www/test/test1/static
<Directory /var/www/test/test1/static/>
Require all granted
</Directory>
WSGIScriptAlias /test2 /var/www/test/wsgi-files/test2.wsgi
<Directory /var/www/test/test2/>
Require all granted
</Directory>
Alias /test2/static /var/www/test/test2/static
<Directory //var/www/test/test2/static/>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Wsgi-файл:
#!/usr/bin/python2.7
import sys
import logging
sys.stdout = sys.stderr
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/test/")
from test1 import server as application
Второй wsgi-файл похож на приведенный выше, но вместо этого указывает на test2.
Мы использовали простой тестовый код из тире в качестве примеров и хотим, чтобы первое тестовое приложение было найдено att example.com/test1, а второе - вторым.приложение на example.com/test2.
В WSGIScriptAlias, если мы напишем «/ /var/www/test/wsgi-files/test1.wsgi» вместо «/ test1 /var/www/test/wsgi-files/test1.wsgi», мыне получите ошибку, но приложение test1 будет появляться на каждой странице порта, на котором мы развертываем.Мы довольно плохо знакомы с dash, python и web-разработкой, поэтому, может быть, это простой ответ, но мы потратили последние часы, пытаясь найти каждый пример, который сможем найти.Среди прочего, это то, что мы попробовали: https://www.digitalocean.com/community/questions/running-mutliple-flask-application.
Код приложения, который мы используем, показан ниже.
import dash
import dash_core_components as dcc
import dash_html_components as html
from flask import Flask
print('Hello this is monkey')
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
server=Flask(__name__)
app = dash.Dash(__name__, server=server,external_stylesheets=external_stylesheets)
app.layout = html.Div(children=[
html.H1(children='Test 1'),
html.Div(children='''
Dash: A web application framework for Python.
'''),
dcc.Graph(
id='example-graph',
figure={
'data': [
{'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'},
{'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': 'Montreal'},
],
'layout': {
'title': 'Dash Data Visualization'
}
}
)
])
app.css.append_css({"external_url": "https://codepen.io/chriddyp/pen/bWLwgP.css"})
server=app.server
@server.route("/test1")
def MyDashApp():
return app.index()
if __name__ == '__main__':
app.run_server(debug=True)
Мы будем очень благодарны за любую помощь.