官方文档: 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. shell 环境变量

    Ubuntu系统设置的环境变量 .profile .bashrc 在 .profile中 有一段代码: if [ -d "$HOME/bin" ] ; then PATH=&quo ...

  2. Consul服务器配置

    微服务带来最大的好处就是把整个大项目分割成不同的服务,运行在不同服务器上,实现解耦和分布式处理.微服务虽然有很多好处,但是也会有不好的一方面.任何事物都会有两面性,在微服务里面运维会是一个很大的难题, ...

  3. Codeforces.GYM101612E.Equal Numbers(贪心)

    题目链接 \(Description\) 给定\(n\)个数,每次可以将任意一个数乘上任意一个正整数. 求\(k\)次操作后,数列中数的种类最少可以是多少.对每个\(0\leq k\leq n\)输出 ...

  4. BZOJ.4653.[NOI2016]区间(线段树)

    BZOJ4653 UOJ222 考虑二分.那么我们可以按区间长度从小到大枚举每个区间,对每个区间可以得到一个可用区间长度范围. 我们要求是否存在一个点被这些区间覆盖至少\(m\)次.这可以用线段树区间 ...

  5. 5.27 Test

    1.COGS.2039. 树的统计 思路: 各种方法. 代码: 1.遍历树1   时间 0.314 s   平均内存 2.96 MB #include<cstdio> using name ...

  6. 洛谷.3355.骑士共存问题(最小割ISAP)

    题目链接 一个很暴力的想法:每个点拆点,向不能同时存在的连边 但是这样边太多了,而且会有很多重复.我不会说我还写了还没过样例 我们实际就是在做一个最大匹配.考虑原图,同在黄/红格里的骑士是互不攻击的, ...

  7. 潭州课堂25班:Ph201805201 mongo数据 库 第八课 (课堂笔记)

    mongo   进入数据库, exit 退出 show dbs 查数据库 db.createCollection('stu')  创建一个集合, > use binbinswitched to ...

  8. JUnit accuracy/failure/stress test区别

    accuracy test(结果准确性测试) 例如,Assert.assertEquals(expected, actual). 如果结果不符合期望则产生failure.说明程序逻辑有问题. fail ...

  9. webstorm安装教程

    之前有些一些破解的,但是独独忘记了安装的这个教程,现在补上:见下: 先来一官方的解释:WebStorm是JetBrains 推出的一款强大的HTML5编辑工具,拥有丰富的代码快速编辑,可以智能的补全代 ...

  10. 关于Random.Range 范围界定

    1. 当Range的参数是float时 Random.Range 范围 static function Range (min : float, max : float) : float :返回一个随机 ...