nginx的集群部署
关于Nginx集群配置!!!
宝塔面板中先安装Nginx,一切从简化
没有安装的。需要安装一下下!!!
然后打开Nginx的设置 —》 配置修改
找到配置文件中的http,在http{}中添加如下代码
upstream harry{
server 127.0.0.1:8080;
server 127.0.0.2:8080;
}
其中的harry是一个变量名,随便起一个就行,但是后边是需要使用的!!!
server所对应的就是你集群所需要的服务器的ip地址和你项目所开的端口号。(悄悄的告诉你server可以有多个哦!!)
然后还是配置文件,向下翻找到server,如图:
在server{}中添加或者修改如下代码:
location /
{
# deny all;
proxy_pass http://harry;
}
其中的harry就是上边所说的变量名,要一一对应着。
这是就配置完成了!
那么怎么访问嘞???
举个例子:http://127.0.0.1:888/test
基本上就可以访问成功的!
部署成功之后,确定可以访问了 咱再进一步了解里边的东西
废话不多说,咱在看一下upstream 里边的一些配置
- weight —> 指定权重,weight的值越大任务就越重,(服务器性能不均匀的时候使用)
upstream harry{
server 127.0.0.1:8080 weight=10;
server 127.0.0.2:8080 weight=5;
}
- down —> 不参与负载均衡 。此时的127.0.0.1就不参与负载均衡
upstream harry{
server 127.0.0.1:9090 down;
server 127.0.0.2:8080 weight=5;
}
- backup — > 非backup机器down或者忙的时候,请求backup机器
upstream harry{
server 127.0.0.1:9090 down;
server 127.0.0.2:8080 weight=5;
server 127.0.0.1:7070 backup;
}
- max_fails —> 允许请求失败的次数。默认是1
- fail_timeout —> max_fails次失败后,暂停的时间
upstream harry{
server 127.0.0.1:9090 down;
server 127.0.0.2:8080 weight=5;
server 127.0.0.1:7070 backup;
server 127.0.0.1:7070 max_fails=3 fail_timeout=10s;
}
- ip_hash ----> 按照请求ip的hash来分配,可以解决session的问题
upstream harry{
ip_hash;
server 127.0.0.1:9090 down;
server 127.0.0.2:8080 weight=5;
server 127.0.0.1:7070 backup;
server 127.0.0.1:7070 max_fails=3 fail_timeout=10s;
}
- fair —> 按照服务器的响应时间来进行分配,响应时间短优先分配
upstream harry{
fair;
server 127.0.0.1:9090 down;
server 127.0.0.2:8080 weight=5;
server 127.0.0.1:7070 backup;
server 127.0.0.1:7070 max_fails=3 fail_timeout=10s;
}
- url_hash —> 这个是不是和ip_hash 很像,没错ip_hash是根据IP的hash分配,url_hash就是根据url的hash进行分配的。这个就不演示了。
自己也就了解这么多了!!
有什么不对的还希望大佬指点一番!!!