zoukankan      html  css  js  c++  java
  • 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'
    

     

  • 相关阅读:
    es6常见特性
    js实现查找字符串出现最多的字符和次数
    jQuery 插件封装的方法
    js变量作用域--变量提升
    js 三元表达式的写法
    bug
    基于bootstrap的模态框的comfirm弹窗
    基于bootstrap模态框的alert弹窗
    回车键搜索代码 兼容性
    盒子垂直居中方式
  • 原文地址:https://www.cnblogs.com/gaoyuechen/p/10512392.html
Copyright © 2011-2022 走看看