Nginx负载均衡的实现(初级)

不用nginx.conf,新建一个 fzjh.conf (名称自定义)

内容如下:

user nobody; # 声明用户为nobody

worker_processes 4; # 开启的nginx 进程数为4

events{

         worker_connections 1024; # 最大并发数是1024个并发

}

http{

         upstream myproject{ # 服务器待选列表。如果某个服务器崩溃,自动移除

                   server ip:port;

                   server ip:prot;

         }

         Server{

                   listen 8080; # 监听8080端口

                   location / { # 监听的目录

                            # 代理的服务器列表

                            proxy_pass http://myproject

                   }

         }

}

Location表达式

~      #波浪线表示执行一个正则匹配,区分大小写

~*    #表示执行一个正则匹配,不区分大小写

^~    #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录

=      #进行普通字符精确匹配

@     #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files

例:

location  = / {

  # 只匹配"/".

}

location  / {

  # 匹配任何请求,因为所有请求都是以"/"开始

  # 但是更长字符匹配或者正则表达式匹配会优先匹配

}

location ^~ /images/ {

  # 匹配任何以 /images/ 开始的请求,并停止匹配 其它location

}

location ~* .(gif|jpg|jpeg)$ {

  # 匹配以 gif, jpg, or jpeg结尾的请求.

  # 但是所有 /images/ 目录的请求将由 [Configuration C]处理.  

}

Http Upstream模块

!!! 默认是轮询!!!

ip_hash指令(用户对应IP)

同一个用户登录后端的服务是稳定的

在服务器待选列表前面加入ip_hash;命令

server指令

server ip:port weight=2; # 设置服务器的权重

权重越高,分配的几率越高

原文地址:https://www.cnblogs.com/MarsJiang/p/nginx_fzjh1.html