1 在nginx中进行请求转发的配置
编辑vim /usr/local/nginx/conf/nginx.conf
配置文件
server {
#nginx监听的端口
listen 80;
#通过ip地址访问
server_name 192.168.0.113;
#本地路径
location / {
root html;
index index.html index.htm;
#下面这行的意思是反向代理tomcat
proxy_pass http://127.0.0.1:8080;
}
启动tomcat
startup.sh
启动nginx
/usr/local/nginx/sbin/nginx
通过代理的ip地址访问成功
2 反向代理
nginx代理两台服务器,先准备两台tomcat服务器,一台端口号为8080,另一台为8081,通过访问的路径不同,则选择访问不同的服务器。
server {
#监听端口为9001
listen 9001;
#映射的ip
server_name 192.168.0.113;
#第一台服务器路径及代理信息
location ~ /edu {
proxy_pass http://127.0.0.1:8080;
}
#第二台服务器路径及代理信息
location ~ /vod {
proxy_pass http://127.0.0.1:8081;
}
}
访问路径为edu/test.html时访问第一台服务器
访问路径为vod/test.html时访问第二台服务器
3 负载均衡
负载均衡的配置
#负载均衡服务列表
upstream myserver {
server 192.168.0.113:8080;
server 192.168.0.113:8081;
}
server {
#nginx监听的端口
listen 80;
#本地路径
location / {
root html;
index index.html index.htm;
#代理负载均衡列表
proxy_pass http://myserver;
}
自动选择服务器访问
4 nginx负载均衡的四种分配方式
nginx的upstream目前支持4种方式的分配
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决的问题。
3、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4、url_hash(第三方)
按访问url的hash结果来分配请求,使同样的url定向到同一个后端服务器,后端服务器为缓存时比较有效