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' 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM