nginx如何重定向到localhost中的不同路由

时间:2013-04-03 01:49:26

标签: nginx

我有两个关于nginx的基本问题:

如何在localhost中设置aliases

能够在localhost上访问许多不同的项目(例如localhost / project1,localhost / project2 ......)。

我试过了

server {
    listen 80;
    server_name localhost;
    location /project1 { //Is it to match localhost/project1?
        root /var/www/project1/;
        index  index.html index.htm;
    }

    location /project2 {
        root /var/www/project2/;
        index  index.html index.htm;
    }
}

但是我得到了404,我无法理解为什么......

如何整理我们的域名?

我看到许多conf使用的是与apache2相同的组织(sites-availablesites-enabled),但默认情况下它似乎不包含这些存储库,怎么做?

2 个答案:

答案 0 :(得分:2)

您在sites-availablesites-enabled中引用的目录结构也可以在nginx中复制。事实上,这就是我存储服务器配置的方式。

它们不是在nginx的标准安装中读取的(来自源代码)。您必须修改httpd.conf并将以下行添加到http块的底部:

include /path/to/sites-enabled/*;

至于别名,很难确定你究竟在寻找什么。您是否希望能够通过网址example.org/project1访问project1.example.org

如果是这样,其中一种方法是将CNAME的{​​{1}}记录设置为指向服务器的IP地址。完成后,您将修改该站点的project1块以接受来自该虚拟主机的连接:

server

答案 1 :(得分:-1)

首先,你根本不需要这些配置。其次,您应该放弃对项目,路由等的理解,并以空白的心态阅读http_core模块的文档。 我不是想成为居高临下,但你的基本面都搞砸了。一旦理解了文档,就应该清楚所需要的只是root /var/www