反向代理(Reverse Proxy):
反向代理简单配置方式:
server {
listen 80;
server_name localhost;
client_max_body_size 1024M;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host h o s t : host: host:server:$server_port;
}
}
负载均衡:Nginx 负载均衡策略(RR(默认)、轮询、ip_hash)
RR(默认)策略:
每个请求按顺序逐一分配到每台服务器当中,如果后端某台出现宕机,Nginx 会自动隔离。
简单配置方式:
upstream test {
server 192.168.1.22:8080;
server 192.168.1.23:8080;
}
server {
listen 80;
server_name localhost;
client_max_size 1024;
location / {
proxy_pass http://test;
proxy_set header Host h o s t : host: host:server:$server_post;
}
}
轮询策略:
简单配置方式:
upstream test {
server 192.168.1.22 weight = 6; —将 60% 的请求分配到该服务器中
server 192.168.1.23 weight = 4; —将 40% 的请求分配到该服务器中
}
ip_hash方式:
upstream test {
ip_hash;
server 192.168.1.22:8080;
server 192.168.1.23 8080;
}
Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,同时也可以完成动静分离。
静态配置方式:
server {
listen 80;
server_name localhost;
client_max_body_size 1024M;
location / {
root E:\wwwroot;
index index.html;
}
}
保存配置文件并重启Nginx服务就生效了。方式http://localhost 就会默认访问当E盘下的wwwroot目录的index.html文件了。
动静分离:
动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。
简单配置方式:
upstream test {
server 192.168.1.22:8080;
server 192.168.1.23 8080;
}
server {
listen 80;
server_name localhost;
client_max_body_size 1024M;
location / {
root E:\wwwroot;
index index.html;
}
location ~ .(gif|jpg|jpeg|png|bmp|swf|css|js)$ { ----所有静态请求由nginx来处理,存放在E盘下的wwwroot目录
root E:\wwwroot;
}
location ~ .(jsp|do)$ {
proxy_pass http://test1; ----所有动态请求转发给tomcat来处理
}
}
正向代理:
客户端访问internet时(客户端本身不能访问internet),不能直接访问,而通过中间服务器访问,此服务器为正向代理。所谓正向代理,客户端向代理服务器发起 Internet 请求,由代理服务器将请求转向 Internet 并将结果反馈客户端。
如果把局域网外的Internet想象成一个巨大的资源库,则局域网中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
简单配置方式:
resolver 192.168.1.22 10.10.10.10;
server {
resolver_timeout 3s;
listen 80;
access_log e:\wwwroot\proxy_access.log;
error_log e:\wwwroot\proxy_error.log;
location / {
proxy_pass http:// h o s t : host: host:request_uri;
}
}