Envoy 代替nginx https://www.jianshu.com/p/0a1f67b42fdb

 

官方文档: https://www.envoyproxy.io/docs
1.6.0版官方文档: https://www.envoyproxy.io/docs/envoy/v1.6.0/


一、 编译和安装

1、 编译

Envoy使用 Bazel工具 构建系统。
为了简化初次构建以及快速入门,我们提供了一个基于Ubuntu16的Docker容器镜像,其中包含了构建静态链接Envoy所需的所有内容,请参阅 ci/README.md

目前有3个基础的编译用的镜像:
(1) envoyproxy/envoy-build 等同于 envoyproxy/envoy-build-ubuntu.
(2) envoyproxy/envoy-build-ubuntu 基于 Ubuntu 16.04 (Xenial) ,使用 GCC 5.4 compiler.
(3) envoyproxy/envoy-build-centos 基于 CentOS 7,使用 GCC 5.3.1 compiler (devtoolset-4).

构建envoy二进制文件:

# 首先 clone 代码
git clone https://github.com/envoyproxy/envoy.git
cd envoy

# 构建 dev 版本的 envoy ./ci/run_envoy_docker.sh './ci/do_ci.sh bazel.dev' # 构建默认使用的是 envoyproxy/envoy-build-ubuntu 镜像, 如果要使用其他的镜像,则如下 IMAGE_NAME=envoyproxy/envoy-build-centos \ ./ci/run_envoy_docker.sh './ci/do_ci.sh bazel.dev' # 如果要使用代理 IMAGE_NAME=envoyproxy/envoy-build-centos \ http_proxy=http://10.0.209.105:17012 \ https_proxy=http://10.0.209.105:17012 \ ./ci/run_envoy_docker.sh './ci/do_ci.sh bazel.dev' # dev 版本编译后的envoy二进制文件默认位于宿主机的 /tmp/envoy-docker-build/envoy/source/exe/envoy-fastbuild # 你可以通过变量 ENVOY_DOCKER_BUILD_DIR=~/build 更改此位置为 ~/build # 构建 release 版本的 envoy IMAGE_NAME=envoyproxy/envoy-build-centos \ ./ci/run_envoy_docker.sh './ci/do_ci.sh bazel.release.server_only' # release 版本编译后的envoy二进制文件默认位于宿主机的 /tmp/envoy-docker-build/envoy/source/exe/envoy # 你可以通过变量 ENVOY_DOCKER_BUILD_DIR=~/build 更改此位置为 ~/build # 构建 debug 版本的 envoy IMAGE_NAME=envoyproxy/envoy-build-centos \ ./ci/run_envoy_docker.sh './ci/do_ci.sh bazel.debug.server_only' # debug 版本编译后的envoy二进制文件默认位于宿主机的 /tmp/envoy-docker-build/envoy/source/exe/envoy-debug # 你可以通过变量 ENVOY_DOCKER_BUILD_DIR=~/build 更改此位置为 ~/build # 使用自定义的镜像tag IMAGE_NAME=envoyproxy/envoy-build-centos \ IMAGE_ID=latest \ ./ci/run_envoy_docker.sh './ci/do_ci.sh bazel.release.server_only' # 最终的构建命令 (IMAGE_ID=latest可选) # 代理只是在外面执行命令时访问网络有用,在容器内编译时如果不能直接访问网络,编译仍然会失败 # 至于如何设置容器内的环境变量,以及设置哪些环境变量,待续 IMAGE_NAME=envoyproxy/envoy-build-centos \ http_proxy=http://10.0.209.105:17012 \ https_proxy=http://10.0.209.105:17012 \ ./ci/run_envoy_docker.sh './ci/do_ci.sh bazel.release.server_only' 

 

转载于:https://www.cnblogs.com/gaoyuechen/p/10512392.html

你可能感兴趣的:(Envoy 代替nginx https://www.jianshu.com/p/0a1f67b42fdb)