nginx负载均衡简单配置
准备三台虚拟机来做这个实验:
172.16.100.6 web服务器
172.16.100.7 web服务器
172.16.100.106 负载均衡服务器
首先三台电脑装好nginx软件:
向web服务器中放入测试文件:
1
2
3
4
5
6
7
8
|
<
html
>
<
head
>
<
title
>Welcome to nginx!</
title
>
</
head
>
<
body
bgcolor
=
"white"
text
=
"black"
>
<
center
><
h1
>Welcome to nginx! 172.16.100.6</
h1
></
center
>
</
body
>
</
html
>
|
配置负载均衡服务器:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
vi
/usr/local/nginx/conf/nginx
.conf
user nginx nginx;worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application
/octet-stream
;
sendfile on;
keepalive_timeout 65;
upstream webservs {
server 172.16.100.6 weight=1;
server 172.16.100.7 weight=1;
}
server {
listen 8083;
server_name localhost;
index index.html index.htm index.php;
location / {
proxy_pass webservs;
proxy_set_header X-Real-IP $remote_addr;
}
error_page 500 502 503 504
/50x
.html;
location =
/50x
.html {
root html;
}
}
}
|
拓展:
要在server之外定义upstream ,upstream可以定义多个名称,但每一个upstream都要有自己独立的名称
upstream里有很多的子指定,其中server用来定义每一个后端服务器;每一个后端还可以传递很多参数,weight权重,没有权重为0,不做负载均衡的,权重一样就轮调,权重不一样实现加权轮调,还可以实现端口映射;定义server时只能定义名称或是IP地址,不能使用协议http。
1
2
3
4
5
6
7
8
9
10
|
upstream backend {
server backend1.example.com weight=5;
server backend2.example.com:8080;
server unik:/tmp/backend3;
}
server{
location / {
proxy_pass http://backend; //反向代理不是某些主机,而是upstream定义的名称,,由upstream来实现负载均衡功能
}
}
|
本文转自ling118 51CTO博客,原文链接:http://blog.51cto.com/meiling/1896267,如需转载请自行联系原作者