1.nginx安装配置(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.交叉编译
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
3.nginx代理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代理到非跟目录 /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负载均衡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