本文主要是介绍【Nginx 开发】反向代理配置,负载均衡配置,动静分离配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
nginx 配置
- 反向代理
- 配置负载均衡
- 配置动静分离
反向代理
我们根据实例进行讲解,效果是通过在浏览器访问www.hlh.com,跳转到Linux系统的tomcat主页面中
第一步:在windows系统的host文件进行域名和ip对应关系的配置
在host文件中添加自己的地址映射
192.168.175.111 www.hlh.com
第二步:在nginx进行请求转发的配置(反向代理的配置)
server {listen 80;server_name 192.168.75.135;#charset koi8-r;#access_log logs/host.access.log main;location / {root html;proxy_pass http://127.0.0.1:8080;index index.html index.htm;}
我们还可以及进行通过不同的访问路径进入到不同的tomcat服务器中
例如:访问http://127.0.0.1:9001/edu/,直接跳转到,127.0.0.1:8081
访问 http://127.0.0.1:9001/vod/,直接跳转到127.0.0.1:8082
仍然在配置文件中进行配置:
server{listen 9001;server_name localhost;location ~ /edu/ {proxy_pass http://localhost:8001;}location ~ /vod/ {proxy_pass http://localhost:8002; }
}
- location后的符号表达
=
:用于不含正则表达式的url前,要求请求字符串与url严格匹配,如果匹配成功,就挺停止继续向下的搜索并立即处理该请求
~
:用于表示url包含正则表达式,并且区分大小写
~*
:用于表示url包含正则表达式,并且不区分大小写
^~
:用于不含正则表达式的url前,要求Nginx 服务器找到表示url和请求字符串匹配度最高的location后,立即使用此location处理请求,而不再使用location块中的正则url和请求字符串做匹配
配置负载均衡
访问同一个地址分配到不同的tomcat端口
http{upstream myserver{server 192.168.75.135:8080;server 192.168.75.135:8081 ;}server{location /{proxy_pass http://myserver;}}
}
- 复杂均衡的分配方式
轮询
:每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能够自动剔除weight
:代表权,默认为1,权重越高被分配的客户端越多
http{upstream myserver{server 192.168.75.135:8080 weight=1;server 192.168.75.135:8081 weight=1;}server{location /{proxy_pass http://myserver;}}
}
ip_hash
:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session问题
http{upstream myserver{ip_hashserver 192.168.75.135:8080;server 192.168.75.135:8081;}server{location /{proxy_pass http://myserver;}}
}
fair(第三方)
:按照服务器的响应时间来分配,访问时间短的先行进行分配
http{upstream myserver{server 192.168.75.135:8080;server 192.168.75.135:8081;fair;}server{location /{proxy_pass http://myserver;}}
}
配置动静分离
动静分离目前的两种方式:
- 把静态文件独立成单独的域名,放在独立的服务器上(目前的主流)
- 动态跟静态文件混合在一起发布,通过nginx来分开
举例访问/www
和/image
时访问nginx本地的静态资源
http{server{location /www/{root /data/;index index.html}location /image/{root /data/;autoindex on;}}
}
root 跟的是在nginx中静态资源所在的目录
autoindex on
:表示展示的时候列出目录中所有的文件
这篇关于【Nginx 开发】反向代理配置,负载均衡配置,动静分离配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!