使用Nginx代理实现gRPC负载均衡
2018-11-20 本文已影响45人
平仄_pingze
官方博客指出,Nginx v1.13.10及以上支持对gRPC负载均衡。
安装
对Debian和Ubuntu系统来说,直接使用apt-get install nginx
无法安装最新的nginx,需要增加源后再安装。
参照这篇文章,需要:
- 创建一个文件nginx_signing.key,内容为key。
- 增加key。
sudo apt-key add nginx_signing.key
- 在
/etc/apt/sources.list
中增加:
deb http://nginx.org/packages/debian/ codename nginx
deb-src http://nginx.org/packages/debian/ codename nginx
- 更新软件库并安装nginx:
apt-get update
apt-get install nginx -y
- 安装后,如果报错无法启动,可以
cat cat /var/log/nginx/error.log
查看错误日志。通常是因为没有建立好日志文件等原因。
配置
在/etc/nginx/conf.d/
中增加一个.conf
文件,内容类似:
upstream grpctest {
server 127.0.0.1:50051 weight=5;
server 127.0.0.1:50052 weight=5;
}
server {
listen 5005 http2;
access_log /var/webos/logs/nginx/grpctest.log main;
location / {
grpc_pass grpc://grpctest;
}
}
再执行nginx -s reload
更新配置。
此时,可以访问服务器的5005端口来连接50051和50052端口的gRPC服务了