- 子进程个数,worker_processes ,个数等于CPU数*核数
- Event{ worker_connectioins 设置一个子进程最大允许多少个连接}
- http{}段中的server是虚拟主机配置
- listen 监听端口,80端口访问时候可以省略。
- server_name监听域名或者ip
- location请求路径匹配,需要对这个请求匹配设置更为详细的处理,扩展location段
- root 请求根目录,相对于nginx的目录而已,例如,root z.com,则对应的是/usr/local/nginx/z.com/目录。也可以使用绝对路径,任何路径都可以,有权限即可。
- index 如果没有写文件资源,则默认定位哪个资源,例如 index index.html。会在root对应的目录下,查找index对应的资源文件。
server_name解释:
如果是域名监听,那么浏览器访问的时候,需要通过域名,比如server_name 是 z.com,端口是80 那么浏览器访问时候,需要输入z.com(此时,需要hosts实现,毕竟z.com不是我们的域名) 那么会自动定位到上述的虚拟主机。当然,如果端口不是80,需要z.com:8080这样的访问方式,访问的是虚拟主机。而后面跟的是资源 z.com:8080/index.html。
如果是ip监听,server_name 是 10.127.xx.111,那么访问的时候,使用ip在浏览器中,就可以被nginx识别到是哪个虚拟主机。ip的监听,可以是localhost,127.0.0.1 最终都会被正确解析成ip的。
有的时候,我们没有设置基于ip的虚拟主机,但是配置了好多基于域名的虚拟主机,我们使用ip访问时候,也能正确访问,那是因为,nginx接受到请求,但是没有识别是哪个虚拟主机,于是就随便找了一个虚拟主机给你用了。