Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 覆盆子皮上的nginx_Python_Linux_Nginx - Fatal编程技术网

Python 覆盆子皮上的nginx

Python 覆盆子皮上的nginx,python,linux,nginx,Python,Linux,Nginx,随后,我在我的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:80

随后,我在我的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地址。在我更改django项目中的settings.py文件后

DEBUG = False

TEMPLATE_DEBUG = DEBUG

ALLOWED_HOSTS = ['pi']
[...]

覆盆子pi的ip地址不再工作。请提供帮助。

您可以使用
pi.local
而不是
pi
,要实现此功能,您需要在Raspberry pi和笔记本电脑上安装Zeroconf

关于raspberry pi安装,您可以在下面的

在笔记本电脑上,如果需要windows,如果使用Mac OS X,默认情况下会安装Bonjour,如果使用Linux,则需要安装Avahi/Zeroconf

最后,您需要将on Django设置更新为

ALLOWED_HOSTS = ['pi.local']

完成AndréRainho的回答

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

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

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

编辑等/主机 在客户端计算机上编辑/etc/hosts文件(在linux上,%SYSTEMDIR%/drivers/etc/hosts在windows上),并在其中添加以下行:

“圆周率”

配置本地DNS服务器 您可以在PI上安装DNS服务器(例如,请参阅),然后将以下内容添加到PI/etc/hosts:

“圆周率”

最后配置路由器将pi的IP作为DNS服务器发送,或者配置计算机将pi的IP作为DNS服务器,具体取决于您

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

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

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