# 安装微信网关

> 本文档内容已过时，请查看目录中现行文档

微信扫码登录[微信网关控制台](https://developers.weixin.qq.com/console/services/donut?donut=%2Fconsole%2Fmanager%2Fgateway%3Futm_source%3Dgateway_homepage_hero&csrfRand=1875100942)，点击立即开通，阅读服务协议并同意，即开通完成。

![](https://res.wx.qq.com/op_res/27BY6EYGNjV6XFtJRLumdP_JA2KRq6RMsSiHe796gPtnMquE-vDOTrVI8hf2PAUo-UgWiEnyL8on1fIYlKaVaw)

进入「微信网关」页面，点击「新建网关」，在弹出的对话框中填写网关名称，完成新建。一般网关以使用角度的应用维度区分，一般只需要一个即可，可以再创建一个用于规则测试。

网关新建完成后，页面上会显示你的 **网关密钥** 以及不同方式的安装指南。可以按照自己喜欢的方式安装指南步骤进行安装。

![](https://res.wx.qq.com/op_res/27BY6EYGNjV6XFtJRLumdD7nKLqxhvqBRtUZ3uODMmeS5-p9bxioU4Dqk9kyb8_vheKU3w6_tXgJ1c4maxNd5Q)

网关实例是一个经过处理过的 envoy 网关，主要作用就是接收微信侧发过来的请求，并按照自己设置做路由分发等流量管理。所以网关实例运行的服务器或者容器服务，应该具备以下几个条件：

1. **有公网接入**：可以是带公网 IP 的服务器，也可以是任何一个公网访问的容器服务[比如 TKE、云托管等]，如果服务器没有公网 IP，可以在服务器的 VPC 网络中配置 NAT 网关，转发端口流量。
2. **尽量靠近业务后端服务**：网关实例最重要的作用就是路由分发，分发的上游服务可以用内网 IP 访问，也可以用私有域名访问；不推荐使用公网再发出去，会增加请求耗时。所以尽量与业务后端服务处于同一个私有网络，如果跨地域了，可以考虑对等连接，或者在不同地域配置多个网关实例（用域名解析来实现就近接入）
3. **尽量避免与高峰值服务混在一起**：虽然 envoy 本身对资源的消耗很小，但仍然需要注意不要与其他重资源消耗并可能引发宕机的服务部署在一起，否则将会导致网关实例不可用，从而影响请求顺利的转发。

一般根据自身的情况，有很多种方案可以选择。选择好实例所在位置后，根据环境不同，参照控制台给出的详细步骤，安装实例。目前有如下几种：

1. Docker：如服务器安装有 Docker，将镜像直接下载下来运行即可。

* 确认已在本地目标服务器上安装 Docker 。
* 使用管理员权限登录到安装网关的目标服务器。
* 打开终端，进入 Shell 环境。
* 运行以下命令，其中 `<your secret>` 是网关的密钥占位符，请将其替换成你的 **网关密钥**。

  ```bash
  docker run --rm \
  -e WXGATEWAY_SECRET= \
  -p 127.0.0.1:19000:19000 \
  -p 127.0.0.1:9902:9902 \
  -p 9903:9903 \
  --name envoy \
  ccr.ccs.tencentyun.com/weixincloud/wxgw:latest
  ```

- 19000 为网关控制面板端口，请勿将此端口暴露到公网
- 9902 为网关的测试端口，无需证书校验，用于测试网关配置，请勿将此端口暴露到公网
- 9903 为网关的正式对外端口，用于接收来自微信接入点的请求

2. Linux：适用于大多数情况。有很多系统版本，注意系统版本不要出错。管理员权限进入终端，安装 curl、wget、jq，剩下的直接复制运行即可；

    ![](https://res.wx.qq.com/op_res/27BY6EYGNjV6XFtJRLumdHrdYYpSNywqmBNicbJAoDZkQwm_aQ6HooGi582xaowvQFotseNjDREjRXkdRk4TAg)

3. K8s：如果你的服务有运行于 K8s 运管的容器平台，可以用这个方法快速新建网关实例。

    ![](https://res.wx.qq.com/op_res/27BY6EYGNjV6XFtJRLumdMK4SBJnjUrRtThVMdOaiyJkXxB4ubeaWFMYVn121yV53jgsrwu5VtCyD8Jy0ZaIMA)

4. 云托管：用于测试场景。如果你暂时没有可访问的服务器，可以使用云托管来体验网关的功能。

网关实例安装成功，控制台中点击「完成」按钮，进入下一步，可以在实例列表中看到已经安装在线的网关实例。

![](https://res.wx.qq.com/op_res/27BY6EYGNjV6XFtJRLumdF_R1Qq0lkdyacGjZR3dPUXI3BvMIdZP_vcfmeirN9IfxEUxuft4MA0vFmh5g7HaHA)
