nginx是现在网站架构必不可少的工具,最常用的功能就是反向代理,资源动静态分离,还有负载均衡。
1.反向代理
修改nginx.config 文件,通过将一个服务器主机地址绑定多个域名。运行多个服务。这时就需要nginx的反向代理。
server {
listen 80;
server_name nginx-01.XXX.cn; #nginx所在服务器的主机名
#反向代理的配置
location / { #拦截所有请求
root html;
proxy_pass [http://192.168.0.21:8080;](http://192.168.0.21:8080;) #这里是代理走向的目标服务器:tomcat
}
}
2.动静分离
非接口类型的请求就交给nginx处理,减轻服务的压力
#动态资源 index.jsp
location ~ .*\.(jsp|do|action)$ {
proxy_pass http://tomcat-01.XXX.cn:8080;
}
#静态资源
location ~ .*\.(html|js|css|gif|jpg|jpeg|png)$ {
expires 3d;
}
3.负载均衡
在http这个节下面配置一个叫upstream的,后面的名字可以随意取,但是要和location下的proxy_pass http://后的保持一致。
http {
# 是在http里面的, 已有http, 不是在server里,在server外面
upstream tomcats {
server shizhan02:8080 weight=1;#weight表示权重
server shizhan03:8080 weight=1;
server shizhan04:8080 weight=1;
}
#卸载server里
location ~ .*\.(jsp|do|action) {
proxy_pass [http://tomcats;](http://tomcats;) #tomcats是后面的tomcat服务器组的逻辑组号
}
}