Nginx实现反向代理
两个域名指向同一台nginx服务器,用户访问不同的域名显示不同的网页内容。
两个域名是www.sian.com.cn和www.sohu.com
nginx服务器使用虚拟机192.168.241.132
安装步骤:
第一步:安装两个tomcat,分别运行在8080和8081端口。
上传tomcat包到服务器
解压tomcat包
将tomcat复制两份并改名
将其中一个tomcat的server.xml文件(避免两个tomcat冲突)
第二步:启动两个tomcat。
查看tomcat是否启动成功
为了区别两个tomcat是否启动成功 那么修改tomcat的默认的index页面
测试访问页面
第三步:反向代理服务器的配置
在nginx.conf文件中加入下面参数
upstream tomcat1 {
server 192.168.241.132:8080;
}
server {
listen 80;
server_name www.sina.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcat1;
index index.html index.htm;
}
}
upstream tomcat2 {
server 192.168.241.132:8081;
}
server {
listen 80;
server_name www.sohu.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcat2;
index index.html index.htm;
}
}
第四步:nginx重新加载配置文件
进入sbin目录
第五步:配置域名
在hosts文件中添加域名和ip的映射关系
C:\Windows\System32\drivers\etc
刷新dns缓存 进cmd执行 ipconfig /flushdns
验证结果
二、负载均衡
如果一个服务由多条服务器提供,需要把负载分配到不同的服务器处理,需要负载均衡。
upstream tomcat2 {
server 192.168.25.148:8081;
server 192.168.25.148:8082;
}
可以根据服务器的实际情况调整服务器权重。权重越高分配的请求越多,权重越低,请求越少。默认是都是1
upstream tomcat2 { server 192.168.25.148:8081; server 192.168.25.148:8082 weight=2; } |
实现步骤:
增加一个tomcat-sina2
修改下tomcat-sina2的index页面(方便观察变化)
修改 server.xml文件
启动tomcat-sina2
查看 tomcat是否启动成功
访问页面
修改nginx.conf文件(在/usr/local/nginx/conf文件夹下)
重载nginx.conf文件
访问页面
快速点刷新 会发现sina2进的次数多一些 因为配置weight是2 (值越大进的几率越大)