Nginx学习:分析windows下的nginx文件夹

当前环境:windows 10、nginx 1.16.1

1.查看解压后的nginx文件夹

Nginx学习:分析windows下的nginx文件夹

1.当前conf应该就是一些配置文件

2.docs应该就是文档

3.html应该就是存放静态html文件

4.logs应该就是用来存储日志

5.temp应该就是用来存放零时文件的

2.查看conf中的配置信息

Nginx学习:分析windows下的nginx文件夹
1.user用于当前的linux中的用户以及用户组

2.worker_processes 应该就是指定工作的进程的数量

3.error_log用于指定当前的错误日志文件

4.pid应该就是linux中的启动进程的pid

5.worker_connections 应该就是当前允许的最大连接数量

这里开启错误日志功能:将#error_log logs/error.log;前面的#号去掉!

3.查看当前的http块

3.1 查看http块的最前面部分

Nginx学习:分析windows下的nginx文件夹
1.include mime.types应该就是指定当前的http协议中的Content-Type: text/html,当然这里应该是采用的配置文件的方式,当前文件位于conf文件中:
Nginx学习:分析windows下的nginx文件夹
查看其中的内容:
Nginx学习:分析windows下的nginx文件夹

发现这里其实就是定义了所有的content-type所对应的数据类型(说明了解nginx,还需要了解http中的响应报文)

2.default-type就是指定当前nginx默认使用的数据类型为:application/octet-stream

application/octet-stream中指定为:
Nginx学习:分析windows下的nginx文件夹

看到这个就感觉很熟悉:这个类型应该就是对应的下载文件的类型(默认可以使用这个作为下载文件的header),是一个通用的类型(标准的二进制文件类型的数据)

3.log_format应该就是当前的日志的文件格式,$变量应该就是类似于linux中的环境变量的引用!

4.sendfile应该就是用来判断是否开启发送文件

5.tcp_nopush,是否开启tcp的推送信息

6.keepalive_timeout:因该就是当前的Connection: Keep-Alive所使用的时间

7.gzip:表示当前的header中是否开启gzip:Content-Encoding: gzip

3.2 查看server块中的内容

Nginx学习:分析windows下的nginx文件夹
1.listen:表示默认监听的端口为:80端口通过这个端口可以访问ngnix

2.server_name:表示当前服务的名称:为localhost(只是一个名字可以写为其他的)

3.charset:表示采用什么格式的字符,采用的是conf文件中的配置文件,应该是koi-utf或者win-utf
这个应该就是linux或者android下的字符集:查看koi-utf文件:
Nginx学习:分析windows下的nginx文件夹
发现了koi-8-r字符集和utf-8字符集

查看win-utf文件
Nginx学习:分析windows下的nginx文件夹
这个应该就是默认的windows下的字符集:windows-1521和utf-8

所以可以配置windows下的字符集直接使用utf-8(与当前的linux下完全一致)

4.·location /应该就是指定当前所有的路径都会被映射直接拦截所有的http请求

4.1 root html表示根文件的目录为html文件(当前ngnix文件中的html文件夹作为根路径访问)

4.2 index 表示访问的时候显示的主页面为index.html文件
Nginx学习:分析windows下的nginx文件夹
所以我们访问80端口的时候会启用ngnix文件中的html文件夹中的index.html文件

5.error_page:就是指定当前的错误显示的页面:默认为处理响应码404 的页面为404.html(这里可以定义许多的html文件用于处理不同的错误状态码!)

6.location ~ \.php$:这里应该是正则匹配,是指所有以php结尾的访问都通过代理的方式转发到:proxy_pass http://127.0.0.1;本地

4.总结

1.当我们需要使用nginx的时候需要通过源码和源文件夹,以及配置文件进行分析!

2.在server中配置listen设置当前监听的端口,通过location中指定拦截访问的路径地址,通过root指定当前默认使用的文件路径,通过ndex指定访问后的页面

3.通过pross_pass指定当前的转发的位置

以上纯属个人见解,如有问题请联系本人!