热门IT资讯网

windows中nginx.conf配置文件的设置

发表于:2024-11-24 作者:热门IT资讯网编辑
编辑最后更新 2024年11月24日,nginx作为web服务器的强大作用就不多说了,其诞生于linux平台,也最适合部署到linux平台上,不过目前也都支持部署在windows平台上。不过,对于大多数开发者而言,windows版的ngi

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:\,但是一样不能带有空格和中文。

0