不用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; # 设置服务器的权重
权重越高,分配的几率越高