我看到nginx
的示例配置,其中大多数使用example.com作为server_name
和uwsgi_pass
类似于unix:/var/www/run/blog.sock;
或与ip / port地址结合使用。但是我应该在amazon ec2实例的情况下使用什么,因为它有很长的公共名称,ip是私有的,如果我重新启动我的实例,它会得到不同的公共名称和ip。我有时需要关机实例。我想配置它使用uwsgi + django,但我完全是网络区和服务器的初学者。
答案 0 :(得分:2)
server_name
指令在您希望在同一服务器上托管不同网站并根据“主机”标头字段处理不同网站的情况下非常有用(例如:mysite1.com => PHP网站,mysite2.com => django网站,...)
它实际上是一个虚拟服务器(另见[服务器指令])1。
来自this article:
[...] nginx仅测试请求的标头字段 “Host”[针对server_name指令]确定请求应路由到哪个服务器。如果 它的值与任何服务器名称都不匹配,或者请求不匹配 根本包含此标头字段,然后nginx将请求路由到 此端口的默认服务器。
如果我理解,你不希望如此。因此,您可以使用underscore character(在其他名称部分中)。
当我不需要处理特定域时,我通常使用“localhost”。说实话,我找不到任何解释它的作用。我刚刚找到了具有此值的示例,它似乎与下划线字符完全一样。
所以我选择
server_name _;
或
server_name localhost;