nginx Windows:设置站点可用的配置

时间:2012-10-25 14:37:14

标签: windows nginx

我正在尝试在我的Windows开发环境中设置Nginx。我找不到如何在Linux上创建类似于"sites-enabled"的东西,其中Nginx会寻找(链接)活动虚拟主机配置。

有没有办法用一个目录做一些类似于实际配置文件的快捷方式和Nginx扫描该目录的目录?或者除了将主机配置复制到nginx.conf之外,还有另一种方法来连接虚拟主机配置吗?

4 个答案:

答案 0 :(得分:20)

在Windows中,您必须提供配置文件所在目录的完整路径。有两个要更新的文件:nginx.conf,它告诉nginx在哪里可以找到网站,以及localhost.conf,它是网站的配置。

假设nginx安装在C:\nginx中。如果安装目录位于另一个路径,则必须相应地更新该路径,无论它出现在以下两个配置文件中。

nginx.conf

地点:C:\nginx\conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    #to read external configuration.
    include "C:/nginx/conf/sites-enabled/*.conf";
}

localhost.conf

地点:C:\nginx\conf\sites-enabled

server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

答案 1 :(得分:12)

nginx的某些Linux软件包使用的“基于站点”方法使用了include指令,该指令了解shell通配符,请参阅http://nginx.org/r/include。您也可以在自己的配置中使用它,例如

http {
    ...
    include /path/to/sites/*.conf;
}

请注意,这种方法可能会非常混乱(特别是,除非您明确使用default_server,否则很难判断哪个服务器{}是默认服务器。

答案 2 :(得分:3)

以下对我有用,但只是在我将主要的nginx exe文件夹从c:/Program Files (x86)/nginx-1.7.0移动到c:/nginx-1.7.0之后(因为我认为它不能很好地处理文件路径中的空格):

http {
    ...
    include "f:/code/mysite/dev-ops/nginx/dev/mysite.conf";
}

答案 3 :(得分:0)

您可以在nginx.config中包含配置相对路径(相对路径只是配置文件本身的路径,而不是日志路径):

http {
  include       mime.types;
  default_type  application/octet-stream;
  include       ../sites-enabled/*.conf;
  ...
}