前言
有时候我们可能需要对服务器进行监控,一开始我是打算使用短信 api 的,但是国内的两家云服务商,一家需要资质,一家要钱。而且我根本用不到这么多,所以不值得付出这么高的代价。关于为什么不自建邮局,那是因为确实用不到这么多的量,而且也没找到自己满意的邮局程序。
发送邮件我使用的 smtp,邮箱用的 gmail。注意哦要想使用 smtp 发送 gmail 邮件,需要在账号安全里允许不安全应用访问。
本次演示基于 debian 理论上适合于所有 linux 发行版
常常有人用 go 与 c语言比较二进制的大小,而且举例 go 生成的二进制多么的大 c 生成的二进制多么的小,这点我是看不下去的。因为 go 官方的编译器生成的二进制是静态的,而 c 语言一般使用 gcc 生成 二进制,而 gcc 默认是动态的。用静态和动态比较是非常不公平的。如果实在需要比较的话,就静态对静态 动态对动态。
linux 可以使用 ldd
查看 可执行文件是否包含动态链
接下来就开始演示了。
nginx 从 1.9.0 开始支持 tcp 转发,1.9.13 支持 udp 转发。利用 nginx 数据转发模块我们可以方便的进行链路优化。
本次演示在 linux 下进行,包括 debian 和 centos。debian 使用的是 debian9,centos 使用的是 centos7。
如果你使用了云服务商提供的外部防火墙的话,你还需要参考云服务商的文档进行配置。或者你使用了云服务商提供的修改过的系统比如 aliyun ,请参考 yun 服务商的文档配置防火墙。
fedora 官方源打包的 nginx 不包含 tcp/upd 数据转发模块,这是我之前踩过的坑,这里只是顺便说一下,本文不演示 fedora 的 nginx tcp/upd 数据转发。
julia 作为一款专为科学计算设计的语言,有着动态语言的简单和静态语言的速度,以上纯属吹逼,大家不用在意。我打算了解 julia 其中一部原因是因为和 python3 有着相似的语法,而且听说数学计算能力不错。详情请参见 https://zh.m.wikipedia.org/zh-cn/Julia_(编程语言)