一,配置虚拟主机 {在一台服务器启动多个网站,如何区分不同的网站(域名不同,端口不同)}
1,通过端口区分不同虚拟主机
在nginx.conf文件中复制server节点并进行配置 listen监听(80.81...n) root(html1,html2...n)
2,通过域名区分虚拟主机
一个域名对应一个ip地址,一个ip地址可以被多个域名绑定。本地测试可以修改hosts文件.
修改window的hosts文件:(C:\Windows\System32\drivers\etc)
可以配置域名和ip的映射关系,如果hosts文件中配置了域名和ip的对应关系,不需要走dns服务器。ip(域名1,域名2...)
在nginx.conf文件中复制server节点并进行配置,listen监听80端口,server_name(域名1,域名2,...)
二,反向代理
1,在hosts文件中添加域名和ip的映射关系 服务器ip(域名1,域名2...n)
2,安装2个tomcat,分别运行在8080和8081端口上,启动.
3,反向代理服务器的配置
upstream tomcat1 {
server 服务器ip:8080;
}
server {
listen 80;
server_name 域名1;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcat1;
index index.html index.htm;
}
}
upstream tomcat2 {
server 服务器ip:8081;
}
server {
listen 80;
server_name 域名2;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcat2;
index index.html index.htm;
}
}
三,负载均衡
1,如果一个服务由多条服务器提供,需要把负载分配到不同的服务器处理,需要负载均衡。
upstream tomcat2 {
server 服务器ip:8081;
server 服务器ip:8082;(weight=1为系统默认,根据服务器性能添加,权重越高分配的请求越多)
}
四,Nginx的高可用
1,Nginx作为负载均衡器,所有请求都到了nginx,处于非常重点的位置,如果nginx服务器宕机后端web服务将无法提供服务,影响严重。
keepalived+nginx实现主备