nginx服务器配置指令:
rewrite功能,代理功能
rewrite功能
后端服务器组的配置指令
upstream指令
upstream指令是设置后端服务器组的主要指令
upstream name {...}
请求按照轮叫调度(round-robin, rr)策略顺序选择服务器处理
server
server指令用于设置组内的服务器
server address [params];
address:服务器地址,可以包括端口号或者以”unix:”为前缀的进程间通信的unix domain socketparams:为当前服务器配置更多属性。
weight=number,组内服务器权重,权重高的优先处理请求(采用加权轮询策略)
max_fails=number,设置一个请求失败的次数,当对组内服务器请求失败次数超过该变量时,认为该服务器无效(404除外)
fail_timeout=time,设置尝试请求某台组内服务器的时间,检查服务器是否有效
backup,将服务器标记为备用服务器
down,标记服务器永久失效ip_hash指令
ip_hash指令用于实现会话保持功能,将某个客户端的多次请求定向到组内同一台服务器上,保证客户端与服务器之间建立稳定的会话。
注:ip_hash指令不能与weight变量一起使用,在整个系统中,nginx服务器必须处于最前端的服务器,而且客户端地址必须为c类地址
keepalive指令
keepalive指令用于控制网络连接保持功能
keepalive connections;
设置服务器的每一个工作进程允许该服务器组保持的空闲网络连接数的上限值
least_conn指令
least_conn指令用于配置nginx服务器使用负载均衡策略为网络连接分配服务器组内的服务器,将请求分配给当前网络连接最少的服务器
rewrite功能的配置指令
rewrite功能的多种应用
代理功能
nginx正向代理服务配置指令
resolver指令
resolver指令用于指定dns服务器的ip地址
resolver address ... [valid=time];
address,dns服务器的ip地址,默认端口35time,设置数据包在网络中的有效时间resolve_timeout指令
resolve_timeout指令用于设置dns服务器域名解析超时时间
resolve_timeout time;
proxy_pass指令
proxy_pass指令用于设置代理服务器的协议和地址
proxy_pass url;
nginx反向代理服务配置指令
proxy_pass指令
proxy_pass指令用来设置被代理服务器的地址,可以是主机名称、ip地址加端口号形式等
proxy_pass url;
proxy_hide_header指令
proxy_hide_header指令用于设置nginx服务器在发送http响应时,隐藏一些头域信息
proxy\_hide_header field
proxy_pass_header指令
proxy_pass_header指令用于设置那些头域信息被发送
proxy\_hide_header field
proxy_pass_header指令
proxy_pass_header指令用于设置那些头域信息被发送
proxy\_hide_header field
略
nginx反向代理服务-负载均衡
一般轮询规则的负载均衡
...upstream backend { server 192.168.1.2:80; server 192.168.1.3:80; server 192.168.1.4:80;}server { listen 80; server_name www.mysite.name; index index.html index.htm; location / { proxy_pass http://backend; proxy_set_header host $host; ... } ...}
加权轮询规则的负载均衡
...upstream backend { server 192.168.1.2:80 weight=5; server 192.168.1.3:80 weight=2; server 192.168.1.4:80;}server { listen 80; server_name www.mysite.name; index index.html index.htm; location / { proxy_pass http://backend; proxy_set_header host $host; ... } ...}
特定资源的负载均衡
...upstream videobackend { server 192.168.1.2:80; server 192.168.1.3:80; server 192.168.1.4:80;}upstream filebackend { server 192.168.1.5:80; server 192.168.1.6:80; server 192.168.1.7:80;}server { listen 80; server_name www.mysite.name; index index.html index.htm; location /video/ { proxy_pass http://videobackend; proxy_set_header host $host; ... } location /file/ { proxy_pass http://filebackend; proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; ... } ...}
对不同域名实现负载均衡
...upstream bbsbackend{ server 192.168.1.2:80 weight=2; server 192.168.1.3:80 weight=2; server 192.168.1.4:80;}upstream homebackend { server 192.168.1.4:80; server 192.168.1.5:80; server 192.168.1.6:80;}server { listen 80; server_name home.mysite.name; index index.html index.htm; location / { proxy_pass http://homebackend; proxy_set_header host $host; ... } ...}server { listen 81; server_name bbs.mysite.name; index index.html index.htm; location / { proxy_pass http://bbsbackend; proxy_set_header host $host; ... } ...}
带有url重写的负载均衡
...upstream backend{ server 192.168.1.2:80; server 192.168.1.3:80; server 192.168.1.4:80;}server { listen 80; server_name www.mysite.name; index index.html index.htm; location /file/ { rewrite ^(/file/.*)/media/(.*)\.*$ $1/mp3/$2.mp3 last; } location / { proxy_pass http://backend; proxy_set_header host $host; ... }}
以上就介绍了nginx服务器配置指令,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。