【问题标题】:How to configure nginx for Amazon ec2如何为 Amazon ec2 配置 nginx
【发布时间】:2012-12-31 16:06:48
【问题描述】:
我看到了nginx 的示例配置,其中大多数使用example.com 作为server_name 和uwsgi_pass,类似于unix:/var/www/run/blog.sock; 或与IP/端口地址结合使用。但是在亚马逊ec2实例的情况下我应该使用什么,因为它有很长的公共名称,ip是私有的,如果我重新启动我的实例,它会得到不同的公共名称和ip。我有时需要关闭实例。我想配置它以使用 uwsgi+django,但我完全是 web 区域和服务器的初学者。
【问题讨论】:
标签:
nginx
amazon-ec2
uwsgi
【解决方案1】:
server_name 指令在您希望在同一台服务器上托管不同站点并根据“主机”标头字段以不同方式处理它们的情况下很有用(例如:mysite1.com => PHP 网站,mysite2. com => 一个 django 网站,...)
它实际上是一个虚拟服务器(另见 [服务器指令])1。
来自this article:
[...] nginx 只测试请求的头部字段
“主机” [针对 server_name 指令] 来确定应将请求路由到哪个服务器。如果
它的值不匹配任何服务器名称,或者请求不匹配
完全包含这个头域,那么 nginx 会将请求路由到
此端口的默认服务器。
如果我理解了,你不会想要的。所以你可以使用underscore character(在Miscellaneous Names部分)。
当我不需要处理特定的域时,我一般使用“localhost”。老实说,我找不到任何关于它的作用的解释。我刚刚找到了具有此值的示例,它似乎与下划线字符完全一样。
所以我会选择
server_name _;
或
server_name localhost;