nginx配置方向代理及负载均衡的四种方式
1、单独跳转地址链接
location / {
proxy_pass http://127.0.0.1:1234;
}
2、首页及静态资源访问
location / {
#首页
index.html index.htm;
#静态资源地址
#将静态资源(如jpg|png|css|js等)放在如下配置的f:/nginx/static目录下,然后在nginx配置文件中做如下配置(注意:静态资源配置只能放在 location / 中),浏览器中访问 http://localhost:80/1.png 即可访问到 f:/nginx/static目录下的 1.png图片
root html;
}
3、实现nginx负载均衡的四种方式
a.热备:如果你有2台服务器,当一台服务器发生事故时,才启用第二台服务器给提供服务。服务器处理请求的顺序:AAAAAA突然A挂啦,BBBBBBBBBBBBBB…
#自定义服务名
upstream tomcat_server{
server 127.0.0.1:1234;
server 127.0.0.1:8769 backup;#热备
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://tomcat_server;
proxy_set_header Host $host; #配置端口,否则可能访问失败
}
b.轮询:nginx默认就是轮询其权重都默认为1,服务器处理请求的顺序:ABABABABAB…
#自定义服务名
upstream tomcat_server{
server 127.0.0.1:1234;
server 127.0.0.1:8769;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://tomcat_server;
proxy_set_header Host $host; #配置端口,否则可能访问失败
}
c.加权轮询:跟据配置的权重的大小而分发给不同服务器不同数量的请求。如果不设置,则默认为1。下面服务器的请求顺序为:ABBABBABBABBABB…
#自定义服务名
upstream tomcat_server{
server 127.0.0.1:1234 weight=1;
server 127.0.0.1:8769 weight=2;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://tomcat_server;
proxy_set_header Host $host; #配置端口,否则可能访问失败
}
d.ip_hash:nginx会让相同的客户端ip请求相同的服务器。
#自定义服务名
upstream tomcat_server{
ip_hash;
server 127.0.0.1:1234;
server 127.0.0.1:8769;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://tomcat_server;
proxy_set_header Host $host; #配置端口,否则可能访问失败
}
5、关于nginx负载均衡配置的几个状态参数讲解。
down,表示当前的server暂时不参与负载均衡。
backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。
max_fails,允许请求失败的次数,默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误。
fail_timeout,在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。
upstream tomcat_server{
server 127.0.0.1:1234 weight=2 max_fails=2 fail_timeout=2;
server 127.0.0.1:8769 weight=1 max_fails=2 fail_timeout=1;
}