nginx反向代理处理过程中的小细节理解
在使用nginx反向代理时要知道它只是起到一个中间转发作用,会把我们发送的请求(nginx所在服务器Ip后面的内容,默认端口80,所以直接写ip就行)发送到目标服务器当中,不管是负载均衡还是动静分离都是:
负载均衡
upstream myserver{
ip_hash;
server node01:8089 weight=1;
server node02:8089 weight=1;
server node03:8089 weight=1;
}
server {
listen 80;
server_name node01;
#charset koi8-r;
#access_log logs/host.access.log main;
location /huamanxi/ {
proxy_pass http://myserver;
root html;
index index.html index.htm;
}
#这里省去了一些代码
以上面为例当我们发送node01/huamanxi(我已在我电脑的host文件中配置node01的ip)请求时因为配置了负载均衡所以nginx会直接把请求发送给目标服务器(这里采用ip_hash的分配机制)就像这样:http://node01:8089/huamanxi或者
http://node01:8089/huamanxi。
动静分离
对于静态资源我们可以直接用nginx来处理
#静态文件交给nginx处理
location /image/ {
root /export/data/;
index index.html index.htm;
autoindex on;
}
当发送/image请求时会到/export/data/中寻找image的文件夹,所以要注意一是在/export/data/中要有image文件夹,二是在root配置中不要写成/export/data/image/,这样会报404。我们发的请求直接拼到/export/data/后面了,不要画蛇添足。