本文只涉及Nginx最小的配置文件进行解读,并对该文件的内容进行一些补充的说明。
基础配置文件解读
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; #访问80端口,找到nginx目录下的html目录下的index.html } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
- worker_processes
worker_processes 1; 默认为1,表示开启一个业务进程
Nginx 有 master 和 worker 两种进程,master 进程用于管理 worker 进程,worker 进程用于 Nginx 服务。性能优化选择可以选择将worker 进程数应该设置为服务器 CPU 的核数。
- worker_connections
worker_connections 1024; 单个业务进程可接受连接数
worker_connection 表示每个 worker 进程所能建立连接的最大值,所以,一个 nginx 能建立的最大连接数,应该是 worker_connections * worker_processes
- include mime.types;
include mime.types; 引入http mime类型
mime.types
是nginx配置文件之一,它用于定义MIME类型和文件扩展名之间的映系。在nginx中,MIME类型用于指定文件的类型,以浏览器可以正确地解析和显示文件。
- default_type application/octet-stream;
default_type application/octet-stream; 如果mime类型没匹配上,默认使用二进制流的方式传输。
- sendfile on;
sendfile on; 使用linux的 sendfile(socket, file, len) 高效网络传输,也就是数据0拷贝。
性能优化-开启高效文件传输模式sendfile on;
sendfile on; #特殊的数据传输功能
参数sendfile on 用于开启文件高效传输模式,同时将tcp_nopush on 和tcp_nodelay on 两个指令设置为on,可防止网络及磁盘I/O阻塞,提升Nginx工作效率
使用host文件解析域名
- Hosts(或者称为hosts.txt)文件是一个文本文件,存储了一些IP地址和域名的映射关系。其中IP地址是计算机可以直接解析的,而域名则需要通过DNS服务器解析。
- 要配置Hosts文件,首先需要打开文件。Hosts文件通常在C:\Windows\System32\drivers\etc目录下,使用文本编辑器打开即可。记住不要使用Word等非纯文本编辑器,因为这些编辑器会在文件中添加格式化信息。
- 接下来,在Hosts文件中输入IP地址和域名的映射关系即可。格式是这样的:IP地址 域名。例如,输入127.0.0.1 www.baidu.com就相当于告诉计算机访问www.baidu.com时,应该使用127.0.0.1这个IP地址进行访问。之后,保存Hosts文件并关闭文本编辑器
修改完成后
访问虚拟机的ip解析的域名
注意事项
1、在编辑Hosts文件时,不能改变文件的格式,否则就会发生解析错误。
2、不要在Hosts文件中输入重复的条目,否则会导致解析不稳定。
3、Hosts文件修改后,需要在一个新的命令提示符窗口中执行ipconfig /flushdns命令使其生效。
域名解析规则
- servername匹配规则
我们需要注意的是servername匹配分先后顺序,写在前面的匹配上就不会继续往下匹配了。
- 完整匹配
我们可以在同一servername中匹配多个域名
server_name vod.mmban.com www1.mmban.com;
- 通配符匹配
server_name *.mmban.com
- 通配符结束匹配
server_name vod.*;
- 正则匹配
server_name ~^[0-9]+\.mmban\.com$;