我跟随http://chimera.labs.oreilly.com/books/1234000000754/ch08.html#_simple_nginx_configuration在我的树莓派上安装了一个nginx服务器来处理我的django项目。我添加了一个文件/etc/nginx/sites available/pi:
server {
listen 80;
server_name pi;
location /static {
alias /home/pi/sites/pi;
}
location / {
proxy_pass http://localhost:8000;
}
}但是,我的浏览器中的"pi“不起作用,我仍然必须使用raspberrypi的ip地址。在我修改了django项目中的settings.py文件之后,
DEBUG = False
TEMPLATE_DEBUG = DEBUG
ALLOWED_HOSTS = ['pi']
[...]树莓派的ip地址不再起作用。请帮帮忙。
发布于 2016-01-07 21:00:55
您可以使用pi.local而不是pi,为此您需要在Raspberry Pi和您的笔记本电脑上使用Zeroconf。
在raspberry pi install avahi上,您可以在elinux.org wesite上找到有关如何执行此操作的详细信息
在笔记本电脑上,如果是windows,你需要安装Bonjour Print Services;如果是Mac,你需要默认安装Bonjour;如果是Linux,你需要安装Avahi / Zeroconf。
最后,您需要将Django上的allowed hosts设置更新为
ALLOWED_HOSTS = ['pi.local']发布于 2016-06-09 06:33:36
正在完成AndréRainho的回答。
您正确地配置了django并将其公开给您的网络。
问题是,这并不是你需要的全部。互联网的主要支柱之一是域名解析,即将域名转换为互联网地址的系统。看看它的维基百科页面:https://en.wikipedia.org/wiki/Domain_Name_System
好的,那么现在呢?好吧,你有多个选择:
编辑etc/hosts
编辑客户机上的/etc/hosts文件(在linux上为%SYSTEMDIR%,在windows上为%SYSTEMDIR%/drivers/etc/hosts ),并向其中添加以下行:
" pi“
配置本地DNS服务器
您可以在PI上安装DNS服务器(例如,请参见this post),然后添加到您的pi /etc/hosts:
" pi“
最后,配置您的路由器以发送pi的IP作为DNS服务器,或者配置您的计算机使用pi的IP作为DNS服务器,由您决定。
ZeroConf
我通常真的不喜欢ZeroConf方法,但是,嘿,它就在那里。ZeroConf是一个“零配置”系统,它广播由运行它的机器提供的服务。
因此,在pi中安装ZeroConf并在您的PC上安装ZeroConf客户端将自动使您能够看到该服务。
结论
如果您只有几台机器,并且不介意来宾看不到您的django服务,那么我会使用/etc/hosts解决方案。试一试,别忘了用静态IP配置pi。
https://stackoverflow.com/questions/29612578
复制相似问题