我是一个托管Raspberry Pi Apache服务器的新手,我有一个简单的Dash应用程序,我想通过一个.wsgi文件来托管,下面是Flask的official documentation,this post的答案,modwsgi的documentation和this指南,用于连接Flask到Apache;我可以让我的文件和结构达到下面的状态,但是导航到http://#.#.#.#/dash返回404,而http://#.#.#.#导航到默认的Apache页面。我确信我错过了一些东西,它相对简单,我只是不确定是什么。Apache错误日志没有错误或异常。
dash.py
from datetime import date
import dash
import dash_table
import dash_core_components as dcc
import dash_html_components as html
import pandas as pd
import data_controller as dc
external_stylesheets = ['/style.css']
data = dc.Data()
app = dash.Dash(__name__, external_stylesheets=external_stylesheets, requests_pathname_prefix='/dash/')
server = app.server
def serve_layout():
data = dc.Data()
today = date.today()
df = data.display_data()
return dcc.Tabs([
html.H1([children='Hello Apache!']),
dash_table.DataTable(columns=[{'name':i,'id':i} for i in df.columns],data=df.loc[:].to_dict('records'))
])
app.layout = serve_layout
if __name__ == '__main__':
app.run_server(debug=True, host='0.0.0.0')
/etc/apache 2/站点可用/短划线配置
WSGIDaemonProcess dash user=pi group=pi home=/home/pi/Documents/programming/ threads=5
WSGIScriptAlias /dash /var/www/html/wsgi/dash.wsgi
WSGIProcessGroup dash
WSGIApplicationGroup %{GLOBAL}
/变量/www/html/wsgi/破折号.wsgi
#!/usr/bin/python
import sys
sys.path.insert(0,'/home/pi/Documents/programming/dashboard/')
from dash import server as application
2条答案
按热度按时间cl25kdpy1#
正如所猜测的那样,答案非常简单,只是在我使用的参考资料中不明显。This演练提醒我需要使用命令
sudo /usr/sbin/a2ensite dash.conf
在a2ensite
和我的.config文件之间建立一个虚拟路径biswetbf2#
我正在使用Ubuntu 20.04,并创建了一个自定义的虚拟环境。
我先跑:
在文件夹中时
对于一个多页面的应用程序,我试图尽可能最小,我只是复制并粘贴以下代码:https://dash.plotly.com/urls:
然后自定义文件:
位于/var/www/html/Dash文件夹中
位于/etc/apache2/sites-available文件夹中
就在
为了在运行时跟踪问题,我运行了以下命令: