Nginx configuration of proxy gRPC

1.nginx installation configuration (centos7)

一:Nginx和依赖包

  Nginx安装包  下载地址:http://nginx.org/en/download.html
  OpenSSL SSL协议加密解密的工具包 下载地址:https://www.openssl.org/
  PCRE 由c语言编写的正则表达式库 下载地址:http://www.pcre.org/
  zlib数据压缩库 下载地址:http://www.zlib.net/
  下载完成之后,全部扔到linux中去吧,如果上传文件的过程中出现Access Denied(拒绝访问),看看文件的权限是不是只读的。下面是我的文件目录

二:安装依赖包

  注:1. 开始安装前,先说明下如果以下安装的过程中出现了:error: You need a C++ compiler for C++ support.说明你的系统中没有安装c++的编译环境, 使用命令: yum install gcc-c++  安装即可。(由于系统是新安装的基本啥都没有,后面安装过程出现了此问题)

    2. 在执行以下操作时候,最好切换到root权限,避免有时候需要在命令前 重复添加 sudo。 例如 sudo make install

    1.先使用命令  tar -zxvf fileName (文件名称)。逐一的解压每个文件,
   2.安装OpenSSL

  cd到OpenSSL目录内,执行以下命令
    
./config         生成Makefile文件(这里的是config文件不是Configure)
make                    读取Makefile中指令编译
make install       安装到系统中(需要root权限)

 3.安装PCRE 和zlib

  PCRE 和zlib安装的方式一样,只是和OpenSSL的文件config名称不一样而已

./configure
make
make install
  安装完上面的三个依赖包,下面安装我们的正主Nginx
configure arguments: --prefix=/usr/local/nginx --with-pcre=/root/nginxinstall/pcre-8.43 --with-openssl=/root/nginxinstall/openssl-1.1.1c --with-zlib=/root/nginxinstall/zlib-1.2.11 --with-http_ssl_module --with-http_v2_module

注意了,以上的都是解压后的文件夹目录,不是安装后的目录。 当执行完成上的命令,执行下面的命令

  编译: make 

  安装: make install 

  至此Nginx和依赖包都安装完成,下面试试能否成功启动Nginx

注:如果出现Access Denied(拒绝访问),请使用root权限安装

 

2. cross compiler

 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

3.nginx agent grpc

nginx.conf

server {
    listen 5005 http2;
 
    access_log /var/webos/logs/nginx/grpctest.log main;
 
    location / {
        grpc_pass grpc://127.0.0.1:50051;
    }
}


grpc server

127.0.0.1:50051


grpc client
连接 127.0.0.1:5005  nginx

4.nginx agent to a non-root directory /package.service

nginx.conf

server {
    listen 5005 http2;
 
    access_log /var/webos/logs/nginx/grpctest.log main;
 
    location /helloworld.Greeter {
        grpc_pass grpc://127.0.0.1:50051;
    }
}


proto:
package helloworld;

// The greeting service definition.
service Greeter {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}


grpc server
127.0.0.1:50051


grpc client
连接 127.0.0.1:5005  nginx

5.nginx load balancing grpc

nginx.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;
 
    location / {
        grpc_pass grpc://grpctest;
    }
}


grpc server两个
127.0.0.1:50051
127.0.0.1:50052

grpc client
连接127.0.0.1:5005

 

 

 

 

Guess you like

Origin blog.csdn.net/Edu_enth/article/details/94750731