我跟随http://chimera.labs.oreilly.com/books/1234000000754/ch08.html#_simple_nginx_configuration在我的raspberry pi上安装了一个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地址。在我改变了我的设置.py在我的django项目中
^{pr2}$树莓派的ip地址不再工作。请帮忙。在
您可以使用
pi.local
而不是pi
,要实现这一点,您需要在Raspberry Pi和笔记本电脑上使用Zeroconf。在在raspberry pi安装avahi上,您可以在elinux.org wesite上找到有关如何安装的详细信息
在笔记本电脑上,如果是windows,你需要Bonjour Print Services,如果是macosx,默认情况下你有Bonjour,如果是Linux,你需要安装Avahi/Zeroconf。在
最后,您需要将Django上的allowed hosts更新为
完成AndréRainho的回答。在
您正确地配置了django并将其公开给您的网络。在
问题是,这不是你所需要的。互联网的主要支柱之一是域名解析,即将域名转换为互联网地址的系统。{看看它的维基百科页面
好吧,那现在怎么办?你有多种选择:
编辑etc/主机
在客户机上编辑/etc/hosts文件(在linux上为%SYSTEMDIR%/drivers/etc/hosts,在windows上)并添加以下行:
配置本地DNS服务器
您可以在PI上安装一个DNS服务器(参见,例如,this post),然后添加到PI/etc/hosts:
最后配置你的路由器将pi的IP作为DNS服务器发送,或者将pi的IP作为DNS服务器发送给你。在
零配置
我真的不喜欢ZeroConf的方法,但是嘿,它就在那里。 ZeroConf是一个“零配置”系统,它广播运行它的机器提供的服务。在
因此,在pi中安装ZeroConf并在您的PC上获得ZeroConf客户端将自动使您能够看到该服务。在
结论
IMHO,如果你只有几台机器,而且你不介意客人看不到你的django服务,我会使用/etc/hosts解决方案。试试看,别忘了用静态IP配置pi。在
相关问题 更多 >
编程相关推荐