Python 使用Raspberry Pi通过Flask在Apache服务器上设置网页
我一直在努力使用Flask进行web开发。我正在开发一种遥控宠物喂食器。我想创建一个网站,以流式视频从摄像机在Pi和分发食物与按钮在这个网站上Python 使用Raspberry Pi通过Flask在Apache服务器上设置网页,python,apache,flask,http-post,wsgi,Python,Apache,Flask,Http Post,Wsgi,我一直在努力使用Flask进行web开发。我正在开发一种遥控宠物喂食器。我想创建一个网站,以流式视频从摄像机在Pi和分发食物与按钮在这个网站上 项目文件夹:/var/www/PetFeeder Python脚本:/var/www/PetFeeder/PetFeeder.py *我的python脚本调用其他脚本(用于摄影机等),这些脚本再次位于“PetFeeder”文件夹下。当我通过终端运行这个脚本时,它开始发布我的HTML和按钮等。效果很好。但是,它仅位于端口:5000上Pi的IP地址上。无
- 项目文件夹:
/var/www/PetFeeder
- Python脚本:
/var/www/PetFeeder/PetFeeder.py
:5000上Pi的IP地址上。无法从本地网络外部访问
- 我的网页的Html文件:
/var/www/PetFeeder/templates/index.Html
- WSGI文件:
/var/www/PetFeeder/PetFeeder.WSGI
- Conf.file:
/etc/apache2/sites available/my.PetFeeder.Conf
- /etc/hosts中的127.0.0.1已在前面写为“localhost”的文件中。所以,我把它改成了我的宠物喂食器
/var/www/PetFeeder/PetFeeder.wsgi的内容:
import sys
sys.path.append('/var/www/PetFeeder')
from PetFeeder import app as application
- /etc/apache2/sites available/my.PetFeeder.conf的内容:
<virtualhost *:80>
ServerName my.PetFeeder
WSGIDaemonProcess PetFeeder user=www-data group=www-data threads=5 home=/var/www/PetFeeder/
WSGIScriptAlias / /var/www/PetFeeder/PetFeeder.wsgi
<directory /var/www/PetFeeder>
WSGIProcessGroup PetFeeder
WSGIApplicationGroup %{GLOBAL}
WSGIScriptReloading On
Order deny,allow
Allow from all
</directory>
</virtualhost>
ServerName my.PetFeeder
WSGIDaemonProcess-PetFeeder-user=www-data-group=www-data-threads=5-home=/var/www/PetFeeder/
WSGIScriptAlias//var/www/PetFeeder/PetFeeder.wsgi
WSGIProcessGroup PetFeeder
WSGIApplicationGroup%{GLOBAL}
WSGIScript正在重新加载
命令拒绝,允许
通融
*a2ensite my.PetFeeder returns'站点。。已启用'
*apache2重新启动成功返回[确定]重新启动apache2
*此外,当我在我的网络浏览器上访问树莓的IP_时,我会看到“它能工作!”Apache的主页
但是,我无法从任何可能的地址访问PetFeeder页面。我试着跟着,不知道还有没有其他人。如果有人能帮助我,我会非常高兴。谢谢你
http://my.PetFeeder/
- 树莓/my.PetFeeder的IP
- 树莓的IP:80
在您的PI:curl localhost/-H“Host:my.PetFeeder”@Joshua上本地尝试此命令。终端上返回的某种html代码。这意味着什么?这就像终端上的web浏览器一样,请求该URL上的页面。如果你检查HTML,它是你的PetFeeder应用程序吗?@Joshua不,实际上它是Apache主页。你知道为什么Apache页面正在运行而不是我的网页吗?也许你定义了一个默认的virtualhost,它正在覆盖你的配置?选中/etc/apache2/sites enabled并删除除您的petfeeder之外的所有链接。在您的PI:curl localhost/-H“Host:my.petfeeder”@Joshua上本地尝试此命令。终端上返回的某种html代码。这意味着什么?这就像终端上的web浏览器一样,请求该URL上的页面。如果你检查HTML,它是你的PetFeeder应用程序吗?@Joshua不,实际上它是Apache主页。你知道为什么Apache页面正在运行而不是我的网页吗?也许你定义了一个默认的virtualhost,它正在覆盖你的配置?选中/etc/apache2/sites enabled并删除除您的petfeeder之外的所有链接。