负载均衡、反向代理配置
反向代理指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接到客户端。
安装依赖
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#安装依赖
sudo apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g-dev
apt-get install openssl
#安装nginx
sudo apt-get install nginx
#启动服务
sudo /etc/init.d/nginx start
#编辑配置文件
cd /etc/nginx/sites-available/
vi default
|
负载均衡将前端的请求根据服务器的负载情况分发给不同的服务器。
配置文件示例
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
|
#default 文件内容
#多服务器负载均衡配置
upstream nlp_api {
#ip_hash每个请求按照访问ip的hash结果分配
#这样每个访客固定访问一个后端服务器,
#可以解决session的问题
#ip_hash;
#后面的权重是指定轮询几率
#weight和访问比率成正比,用于后端服务器性能不均的情况
#weight越大,负载的权重就越大,默认1
server 127.0.0.1:8094 weight=5;
server 127.0.0.1:8095 weight=5;
}
server {
listen 80;
server_name localhost;
location / {
#不允许跳转
proxy_redirect off;
#请求头设置
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#从监听端口进来的请求将由upstream做分发
proxy_pass http://nlp_api;
}
}
|
重启服务
1
2
3
4
5
6
7
|
#检查配置文件是否有问题
sudo nginx -t
#最后重新加载配置
sudo /etc/init.d/nginx reload
#或者重启服务
sudo /etc/init.d/nginx restart
|