一、Nginx的反向代理
1、反向代理:不同的域名同一个ip地址访问的是不同的服务器
2、域名和ip地址的映射关系是需要DNS服务器,我们没有dns服务器,所有修改本机的host文件来做域名和ip地址的映射关系
host文件的路径 C:\Windows\System32\drivers\etc 修改host文件,内容如下:
192.168.228.141 www.hayward.com
192.168.228.141 www.dong.com
这里的192.168.228.141是nginx服务器的地址 后面的域名可以自己随便取
3、修改Nginx的配置文件
步骤:找到自己Nginx的安装路劲,进入到conf中编辑nginx.conf
例如本人的路劲 cd /usr/local/nginx/conf
编辑nginx.conf vi nginx.conf
在这个配置文件中一个server就是表示一个虚拟主机,我们这里要配置两个nginx虚拟主机,所以主要写两个server配置即可 添加如下内容:
upstream tomcat_server{
server 192.168.228.131:8080;
}
upstream tomcat_server2{
server 192.168.228.131:8081;
}
这里upstream后面的名字是自己取的,表示不同的你要访问的装有tomcat的服务器。server后面的是服务器的IP地址和端口号
(说明:我这里用的一台机器,所以我配置了两个不同端口的tomcat来代表两台不同的服务器)
listen 80;
server_name www.hayward.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcat_server;
index index.html index.htm;
}
}
server {
listen 80;
server_name www.dong.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcat_server2;
index index.html index.htm;
}
}
说明:在这个nginx的配置文件中,每个server配置就是一个虚拟的主机,server_name 就是在host文件中配置的域名,在location里不能有默认的root了,要写proxy_pass 后面跟的就是在上面配置的upstream后面的名字
4、配置完成后重新启动nginx
cd /usr/local/nginx/sbin
./nginx -s reload
二、Nginx的负载均衡
1、负载均衡:英文名称为Load Balance,其意思就是将同一个域名的请求分摊到多个服务器上,这几个服务器上的程序代码都是一样的,执行的效果都是一样的。
2、修改Nginx的配置文件
步骤:找到自己Nginx的安装路劲,进入到conf中编辑nginx.conf
例如本人的路劲 cd /usr/local/nginx/conf
编辑nginx.conf vi nginx.conf
在这个配置文件中一个server就是表示一个虚拟主机,我们这里要配置两个nginx虚拟主机,所以主要写两个server配置即可 添加如下内容:
upstream tomcat_server{
server 192.168.228.131:8080;
server 192.168.228.131:8081:
}
这里upstream后面的名字是自己取的,表示不同的你要访问的装有tomcat的服务器。server后面的是服务器的IP地址和端口号
(说明:我这里用的一台机器,所以我配置了两个不同端口的tomcat来代表两台不同的服务器)
listen 80;
server_name www.hayward.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://tomcat_server;
index index.html index.htm;
}
}
说明:在这个nginx的配置文件中,每个server配置就是一个虚拟的主机,server_name 就是在host文件中配置的域名,在location里不能有默认的root了,要写proxy_pass 后面跟的就是在上面配置的upstream后面的名字
在这中配置的情况下,每次域名的请求是在这两个不同的服务器之间轮询的,即这次的请求在8080上,下次的请求就在8081上了,再下一次的请求又在8080上了。再upstream中的server后面还有几个常用的属性:
down 表示单前的server暂时不参与负载
weight 默认为1.weight越大,负载的权重就越大。在默认情况和所有的weight配置成一样的情况下就是每次请求在这些服务器之间轮询。负载的权重越大被分配的请求就越多。一般硬件配置比较高的服务器将它的负载权重配置的大一些
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误
fail_timeout:max_fails 次失败后,暂停的时间。
backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。配置了这个属性的服务器一般就是备用机器,以防突发情况。这些属性的写法 upstream tomcat_server{
server 192.168.228.131:8080 weight=10;
server 192.168.228.131:8081:
}