官方文档: 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'

 

Envoy 代替nginx https://www.jianshu.com/p/0a1f67b42fdb的更多相关文章

  1. fastdfs(https://www.jianshu.com/p/1c71ae024e5e)

    参考 官方网站:https://github.com/happyfish100/ 配置文档:https://github.com/happyfish100/fastdfs/wiki/ 参考资料:htt ...

  2. linux:Nginx+https双向验证(数字安全证书)

    本文由邓亚运提供 Nginx+https双向验证 说明: 要想实现nginx的https,nginx必须启用http_ssl模块:在编译时加上--with-http_ssl_module参数就ok.另 ...

  3. 为苹果ATS和微信小程序搭建 Nginx + HTTPS 服务

    昨天测试开发微信小程序,才发现微信也要求用HTTPS加密数据,想来是由于之前苹果的ATS审核政策的缘故吧,微信想在苹果上开放小程序必然也只能要求开发者必须使用HTTPS了,于是在服务器上测试安装Ngi ...

  4. 在阿里云 ECS 搭建 nginx https nodejs 环境(三、nodejs)

    在阿里云 ECS 搭建 nginx https nodejs 环境(三.nodejs) 在阿里云 ECS 搭建 nginx https nodejs 环境(三.nodejs) 第一步 指定版本源 执行 ...

  5. 在阿里云 ECS 搭建 nginx https nodejs 环境(二、https)

    在阿里云 ECS 搭建 nginx https nodejs 环境(二) 这次主要内容是 如何在 ubuntu 的nginx 下配置 二级域名. 一. 域名解析 首先你需要去到你的 域名服务商那边 进 ...

  6. Nginx Https配置不带www跳转www

    把 morethink.cn和www.morethink.cn合并到一个server上去,使用301永久重定向. 然后将 https://morethink.cn 转到 https://www.mor ...

  7. [转]https://www.jianshu.com/p/06443248f4d8

    eos是什么? 原文 https://www.jianshu.com/p/06443248f4d8 简介 用一句话来定义eos,即:区块链操作系统,支持在它之上构建dapp,支持智能合约.帐户.身份验 ...

  8. Zabbix调优不完全指南(https://www.jianshu.com/p/2d911d55448f)

    从学习搭建zabbix到完成各类监控.调优.二次开发已经过去了两年,期间通过QQ学习群.zabbix官方社区.各个技术博客整理学习了不少关于各种报错的处理方法,现在将常见的一些报错处理方法整理出来分享 ...

  9. 接口测试之——Charles抓包及常见问题解决(转载自https://www.jianshu.com/p/831c0114179f)

    简介 Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的.该软件是用Java写的,能够在Windows,Mac,Linux上使用,安装Charl ...

随机推荐

  1. BZOJ.1935.[SHOI2007]Tree园丁的烦恼(CDQ分治 三维偏序)

    题目链接 矩形查询可以拆成四个点的前缀和查询(树套树显然 但是空间不够) 每个操作表示为(t,x,y),t默认有序,对x分治,y用树状数组维护 初始赋值需要靠修改操作实现. //119964kb 43 ...

  2. Linux运维笔记(一)网络基础知识

    网络基础知识 一.基本概念 1.ARPANET & TCP/IP:以“软件”技术将网络硬件整合,使得不同的计算机或者数据可以通过这个软件达成数据沟通(TCP/IP技术也被称为Internet) ...

  3. C memset

    //#include "stdafx.h" #include <iostream> #include <memory.h> using namespace ...

  4. android studio 中去除应用标题栏

    android studio 中去除应用标题栏 ㈠ ⒈ mainifests中设置: android:theme="@style/AppTheme"(即默认设置). ⒉ value ...

  5. mysql 跨表更新

    update hhs_goods as g INNER JOIN (select SUM(goods_number) as goods_number,goods_id from hhs_order_g ...

  6. C#线程篇---Task(任务)和线程池不得不说的秘密

    我们要知道的是,QueueUserWorkItem这个技术存在许多限制.其中最大的问题是没有一个内建的机制让你知道操作在什么时候完成,也没有一个机制在操作完成是获得一个返回值,这些问题使得我们都不敢启 ...

  7. 使用NSSM将exe封装为服务

    NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行.同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大.它的特点如下: 支持普通 ...

  8. Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko

    Trident (又称为MSHTML),是微软的窗口操作系统(Windows)搭载的网页浏览器—Internet Explorer的排版引擎的名称. 它的第一个版本随着1997年10月Internet ...

  9. Delphi创建ActiveX控件,实现安全接口及无界面代码

    Delphi创建OCX控件非常的方便,但IE调用时弹出的安全认证非常麻烦,有时OCX也不需要界面,IE调用时需要隐藏,非常不方便.在DELPHI中创建OCX实现安全接口和创建事件中修改部分代码 实现安 ...

  10. JavaScript之Date日期对象扩展

    各种时间加减 收藏起来以备后用 //名称:日期加法函数 //参数:part(year.month.day.hour.minute.second.millisecond) //返回:Date对象 Dat ...