Nginix常用配置记录
目录
根据域名区分项目路径
#端口号相同 域名不同 访问路径不同 server { #监听端口号 listen 80; #域名 server_name www.lihai.com; #拦截路径 location / { #根目录 root html; #根目录下文件 index index.html index.htm; } } server { #监听端口号 listen 80; #域名 server_name www.lihai1.com; #拦截路径 location / { #根目录 root html; #根目录下文件 index index1.html index1.htm; } }
根据端口号区分项目路径
#域名相同 端口号不同 访问路径不同 server { #监听端口号 listen 8080; #IP地址 server_name www.lihai.com; #拦截路径 location / { #根目录 root html; #根目录下文件 index index.html index.htm; } } server { #监听端口号 listen 8081; #域名 server_name www.lihai.com; #拦截路径 location / { #根目录 root html; #根目录下文件 Index index1.html index1.htm; } }
反向代理配置
#把请求转发给Tomcat server { #监听端口号 listen 80; #域名 server_name www.lihai.com; #拦截路径 location / { #真实访问地址 为内网服务器地址 proxy_pass http://127.0.0.1:8080; } }
负载均衡常用算法
1、轮询(Nginx默认): 轮流访问每台服务器,应用场景,服务器配置都相同 2、权重 weight 例如四次请求,两台服务器,权重配置为1:3,那么第一台服务器访问1次,第二台服务器访问3次,应用场景,服务器配置不同 3、IP Hash 通过获取IP地址,进行Hash运算固定分配到某个服务器上 4、fair(第三方,需要下载upstream fair) 根据后台服务器响应时间快慢进行分配,优先分配到相应时间快的服务器上 5、url hash(第三方,需下载Nginx的hash软件包) 根据访问URL算出Hash值进行分配
配置负载均衡
#轮询(默认) upstream backServer{ server 127.0.0.1:8080; server 127.0.0.1:8081; } #权重 upstream backServer{ server 127.0.0.1:8080 weight=1; server 127.0.0.1:8081 weight=2; } #IP Hash upstream backServer{ server 127.0.0.1:8080; server 127.0.0.1:8081; ip_hash; } server { #监听端口号 listen 80; #域名 server_name www.lihai.com; #拦截路径 location / { #真实访问地址 为内网服务器地址 proxy_pass http://backServer; } }
Nginx配置故障转移
当真实服务器出现宕机,延迟的情况下,直接轮询下一个节点 server { #监听端口号 listen 80; #域名 server_name www.lihai.com; #拦截路径 location / { #真实访问地址 为内网服务器地址 proxy_pass http://backServer; #与上游服务器连接超时时间 proxy_connect_timeout 1s; #发送给上游服务器请求超时时间 proxy_send_timeout 1s; #接受上游服务器响应超时时间 proxy_read_timeout 1s; } }