nsq 随录
nsq
组件
nsqlookupd
是守护进程负责管理拓扑信息。客户端通过查询 nsqlookupd 来发现指定话题(topic)的生产者,并且 nsqd 节点广播话题(topic)和通道(channel)信息。
是守护进程负责管理拓扑信息。客户端通过查询 nsqlookupd 来发现指定话题(topic)的生产者,并且 nsqd 节点广播话题(topic)和通道(channel)信息。
默认情况下 kong 监控一下端口
:8000
监听来自客户端的传入HTTP流量,并将其转发到上游服务。:8443
监听来自客户端的HTTPS流量。此端口具有与端口类似的行为:8000
,但它仅需要HTTPS流量。可以通过配置文件禁用此端口。8000
和 8443
作为提供服务的端口,在正常的线上服务是需要修改成 80
和 443
端口。使用 docker
来启动会很方便做端口映射,而不需要对配置做修改:8001
管理端口,提供管理 Admin API:8444
Admin API 的 HTTPS
端口在最开始的看 Kong 相关的时候,一下看到 4 个服务端口会有些焦虑,实际上只是只是两种服务提供了 HTTP
和 HTTPS
的访问,8000和8443提供服务,8001和8443 用来管理。
zabbix 配置看上去很复杂。 实际上是由于界面布局不合理,功能都是以展示为主,平铺直列。在直观状态下实际上是误导。
作为一个运维监控的工具。把我们自己需要的功能对应到 zabbix 上,就会变的很好理解。
基本需求,就是需要监控一群机器,并给出相应的可视化的表或者提示。 实际上可以按照层级关系列出,而不是按照 zabbix 界面的平铺。
Firefox 升级后开始不支持三方协议的插件,调试 coap 协议使用的 Copper 插件在Firefox上不起作用。
需要做调试的时候,发现在关闭了 Firefox 更新的情况下 Copper 插件依然不起作用,于是想着重新安装,在插件商店里面居然已经找不到 Copper 这个插件了。官方已经将这个插件从 Firefox 的商店下架了。
使用RES版是因为正常的版本从源码加载插件插件依然无法使用
安装方式参考github的安装说明
nginx server_name 配置文档: http://nginx.org/en/docs/http/server_names.html
在做 nginx 正则表达式 proxy_pass,nginx 反向代理不过去。 比如
1 | server { |
会报出如下错误
no resolver defined to resolve xxx.xxx
web端返回http 502 错误。
在Ngnix中如果用变量作为反向代理的地址时,容易出现“no resolver defined to resolve xxx.xxx”的问题
在 Nginx 0.6.18 后启用了 resolver 指令,在使用变量来构造某个server地址的时候一定要用resolver指令来指定DNS服务器的地址
所以在nginx的配置文件中的http{}部分添加一行resolver 8.8.8.8;
resolver 8.8.8.8;
1 | server { |
在使用 docker 编译 openwrt 遇到了两个坑,问题不复杂,却折腾了一天。
环境如下
在使用服务时使用同一台服务器的 mysql 的 docker 服务。想到 external-links 这个配置。
按照文档的配置添加了如下配置
1 | external_links: |
但是配置无论如何都不成功。
https://docs.docker.com/compose/compose-file/#external_links
官方文档相关的描述,
If you’re using the version 2 or above file format, the externally-created containers must be connected to at least one of the same networks as the service that is linking to them.
也就是说想要使用 external_links 是需要两个服务在同一个网络段,这里只提了一句,对第一次写配置文件的开发者非常的不友好。
在做 https 的时候,使用了 letsencrypt 的证书,letsencrypt 的证书 90 天更新一次,正常情况下,只有一个域名就很方便处理,写一个 crontab 就搞定了。
letsencrypt 出了泛域名后,泛域名只支持 1 级的匹配。当有多个子域名使用的时候,管理起来就很难受。
所幸的是,acme.sh 支持 deploy_hook 来自行调用一个 shell 脚本。所以用不到10行的代码,做了一个利用 git 来管理域名证书。
思路虽然简单粗暴,这样做的好处是可以很清楚的在git上面看到证书的更新,同时更新也可以利用 gitlab 的 hook 通知到 钉钉。
从11月开始到现在,项目开始从 php 转换到 nodejs + 后端服务,相应的部署环境转换到docker。
在使用纯php环境,上线比较简单,主要是代码拉取,拷贝和软链切换。 运行环境使用docker后相应的需要引入一个打包的过程,所以前面所依靠的上线部署系统无法满足当前的需求。
目前来说,Jenkins 作为自动化的流水线工具,几乎是不二的选择。
将 Jenkins 作为流水线工具,在打包阶段依赖 docker-compose。 上线阶段依赖 ansible 。