我有两个关于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-available
和sites-enabled
),但默认情况下它似乎不包含这些存储库,怎么做?
答案 0 :(得分:2)
您在sites-available
和sites-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
。