树莓派nginx

2024-04-25 15:11:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我跟随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地址不再工作。请帮忙。在


Tags: 项目djangoipcomhttpserver地址pi
2条回答

您可以使用pi.local而不是pi,要实现这一点,您需要在Raspberry Pi和笔记本电脑上使用Zeroconf。在

在raspberry pi安装avahi上,您可以在elinux.org wesite上找到有关如何安装的详细信息

在笔记本电脑上,如果是windows,你需要Bonjour Print Services,如果是macosx,默认情况下你有Bonjour,如果是Linux,你需要安装Avahi/Zeroconf。在

最后,您需要将Django上的allowed hosts更新为

ALLOWED_HOSTS = ['pi.local']

完成AndréRainho的回答。在

您正确地配置了django并将其公开给您的网络。在

问题是,这不是你所需要的。互联网的主要支柱之一是域名解析,即将域名转换为互联网地址的系统。{看看它的维基百科页面

好吧,那现在怎么办?你有多种选择:

编辑etc/主机

在客户机上编辑/etc/hosts文件(在linux上为%SYSTEMDIR%/drivers/etc/hosts,在windows上)并添加以下行:

"<your_ip> pi"

配置本地DNS服务器

您可以在PI上安装一个DNS服务器(参见,例如,this post),然后添加到PI/etc/hosts:

"<your_ip> pi"

最后配置你的路由器将pi的IP作为DNS服务器发送,或者将pi的IP作为DNS服务器发送给你。在

零配置

我真的不喜欢ZeroConf的方法,但是嘿,它就在那里。 ZeroConf是一个“零配置”系统,它广播运行它的机器提供的服务。在

因此,在pi中安装ZeroConf并在您的PC上获得ZeroConf客户端将自动使您能够看到该服务。在

结论

IMHO,如果你只有几台机器,而且你不介意客人看不到你的django服务,我会使用/etc/hosts解决方案。试试看,别忘了用静态IP配置pi。在

相关问题 更多 >