Nginx Web服务器

JerryXia 发表于 , 阅读 (0)
任何放在外部的指令配置都被认为是main上下文的,通常子级上下文重用父级上下文的配置, 也可以重写父级上下文的配置,下面是一段较为完整的配置结构
# main上下文user nobody;events {    # 事件配置}# http上下文http {    # HTTP全局配置, 作用于所有虚拟服务器    # 虚拟服务器1    upstream server1 {        server localhost:9080;    }    server {        # 虚拟服务器1的配置        listen       80 ;           #监听信息        server_name  www.gaara.com; #虚拟服务器名称        location /one {            # 处理URL为/one的配置        }        location /two {            # 处理URL为/two的配置        }        # 所有请求转发到server1虚拟服务器        location / {            proxy_pass              http://server1;            proxy_set_header        X-Real-IP $remote_addr;            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;            proxy_set_header        Host $http_host;        }    }    upstream server2 {        server localhost:9090;    }    server {        ...    }}        
当需要生效新的配置时, 你可以重启nginx或者重新加载配置
# 重启sudo nginx -s stop && sudo nginx# 重新加载配置sudo nginx -s reload# 之前你也可以测试下配置文件是否有错误sudo nginx -t -c /path/to/conf        

配置虚拟服务器

nginx配置文件中至少需要配置一个虚拟服务器, 当客户端请求来时, nginx会选择虚拟服务器来处理该请求。虚拟服务器通过http上下文 中的server指令进行配置