windows下nginx.conf的配置注意事项

nginx作为web服务器的强大作用就不多说了,其诞生于linux平台,也最适合部署到linux平台上,不过目前也都支持部署在windows平台上。不过,对于大多数开发者而言,windows版的nginx更多的是用于本地调试。

而windows版的nginx安装包其实也就是一个压缩包,配置文件及主要依赖脚本与linux版的无异,然而在配置书写上,却有着一些坑让人避之不及。

最精简的nginx.conf配置文件应该是这样的

#user  nobody;
worker_processes  4;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;
events {
    worker_connections  4096;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    #access_log  logs/access.log  main;
    sendfile            on;
    sendfile_max_chunk 512k;
    open_file_cache max=204800 inactive=20s;
    open_file_cache_min_uses 1;
    open_file_cache_valid 30s;  
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   5;
    types_hash_max_size 2048;
}

每个站点的server配置,尽量独立一个conf文件,然后再nginx.conf中进行引用方便管理,因此,在http配置单元中,我们用include指令用来将其他地方的配置文件包含进来,如:include /home/conf/system1.conf;
完整的http块就像这样:

http {
    include       mime.types;
    default_type  application/octet-stream;
    #access_log  logs/access.log  main;
    sendfile            on;
    sendfile_max_chunk 512k;
    open_file_cache max=204800 inactive=20s;
    open_file_cache_min_uses 1;
    open_file_cache_valid 30s;  
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   5;
    types_hash_max_size 2048;

    #从这里添加外部引用配置文件(单个)
    include /home/conf/system1.conf;

    #从这里添加外部引用配置文件(多个)
    include /home/conf/*.conf;
}

在linux平台书写要添加的配置文件的绝对路径,然而在windows下,理论上要写成
include D:/Program Files/conf/system1.conf;

然而并不是

1)在windows下nginx.conf中写include配置文件的时候,路径不能含有空格和中文,所以,想Program Files这种路径就不要想了。
2)在windows下,路径不能含有盘符,因为它是以linux的风格查找路径和文件,因此,他只认linux下的路径风格,所以只能写成类似/programfile/conf/system1.conf的格式,那怎么知道他是在哪个盘的目录底下?答案是:nginx识别当前nginx程序所在路径的根目录作为 / 的目录,把他当做类似linux下的根目录/ , 如:nginx在D盘下,那么/programfile/conf/system1.conf的实际完整路径就应该是:d:/programfile/conf/system1.conf

注意:这只是include指令中路径书写有这个差别,其他如server指令里,文件和目录的格式可以正常使用盘符如D:\,但是一样不能带有空格和中文。

windows下nginx.conf的配置注意事项

上一篇:.net core 部署到IIS 后出现 w3wp.exe 【】发生了未经处理的win32异常……


下一篇:windows注册表开机启动排查