1 http
处理http请求相关的配置。
2 server,虚拟主机
2.1 什么是虚拟主机
虚拟主机是定义在http context下的server。
http {
server {
server configuration....
}
}
一台物理机器虚拟成多台主机,每台虚拟主机独立对外提供www服务,实现一台物理机器对我提供多个web服务器,互不影响。
2.2 三种类型的虚拟主机配置
2.2.1 基于ip地址的虚拟主机
server{
listen 192.168.1.1:80;
server_name localhost;
}
server{
listen 192.168.1.2:80;
server_name localhost;
}
2.2.2 基于端口号的虚拟主机
server{
listen 80;
server_name localhost;
}
server{
listen 81;
server_name localhost;
}
2.2.3 基于域名的虚拟主机
#域名可以有多个,用空格隔开
server{
listen 80;
server_name www.nginx1.com www.nginx2.com;
}
server{
listen 80;
server_name www.nginx3.com;
}
3 events
事件驱动相关的配置,比如配置使用epoll, use epoll。
4 location
匹配url。
5 proxy_pass
将请求准发给一个proxy,proxy处理完了之后,返回响应给nginx,然后再转发给用户,nginx是一个逆向代理。
location /some/path/ {
proxy_pass http://www.example.com/link/;
}
6 fastcgi_pass
fastcgi_pass 127.0.0.1:9000; # 表示nginx通过fastcgi_pass将用户请求的资源发给127.0.0.1:9000进行解析,这里的nginx和php脚本解析服务器是在同一台机器上,所以127.0.0.1:9000表示的就是本地的php脚本解析服务器。
7 root
location ^~ /t/ { root /www/root/html/; }
如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/t/a.html的文件。