RabbitMQ集群搭建

之前有一篇Rabbitmq安装教程记录了RabbitMQ单机版本的简单安装。本文主要记录RabbitMQ集群的搭建过程,方便以后开发调试。RabbitMQ集群有五种形成方式,包含通过在配置文件中列出集群节点以声明方式、以声明方式使用基于 DNS 的发现、以声明方式使用AWS (EC2) 实例发现(通过插件)、以声明方式使用Kubernetes 发现(通过插件)、以声明方式使用基于 Consul 的发现(通过插件)、以声明方式使用基于 etcd 的发现(通过插件)、手动使用rabbitmqctl。详细安装可查看RabbitMQ集群,本文通过Docker安装包含三个节点的RabbitMQ集群,并且通过手动使用rabbitmqctl的方式构建集群。

阅读更多

生产环境跳板机搭建

生产环境的服务,中间件等一般不会开启公网访问,只能内网互通,保证数据的安全。所以一般我们我们预发布, 上线部署,查看日志等操作都需要跳板机进行操作。本文主要简单的记录跳板机的搭建及VPN连接过程。

阅读更多

优化CORS预检问题

近段时间PC端发布测试版本,使用webpack打包和gitlab runner自动化部署,然后使用nginx代理部署访问。测试过程中发现一个问题,每调用一个后台接口都会产生两次请求。我们以一次请求200ms计算,忽略前端渲染时间,本来200ms可以操作的界面需要400ms。并且本来可以一台服务器可以完成的工作非要两台服务器才能完成。这就比较严重了。本来文章记录一下这个问题的解决方案。

阅读更多

Haproxy-Emqx-SSL实现负载均衡与加密

团队内部使用Docker+Haproxy+SSL+Emqx搭建MQTT集群,一直没搞成功。写篇文章记录下整个搭建过程,方便以后查询。主要使用的方案是通过Haproxy实现Emqx负载均衡,使用自建SSL保证数据安全,使用Docker保证快速搭建,迁移等。

阅读更多

PVE显卡直通

公司购买一台AI训练机,准备用来做AI训练和CI,CD。拟规划在物理机上开启三个虚拟机,分别是AI训练Windows虚拟机,AI训练Linux虚拟机及CI虚拟机,本文记录从PVE的搭建,显卡直通的配置,驱动的安装等。方便有二次安装的时候不用去网上教程。整个安装配置过程中,显卡直通踩了很多坑。

阅读更多

emqx集群搭建及nginx负载均衡

项目中涉及物联网功能需要搭建mqtt服务。这里使用emqx搭建mqtt集群。为什么使用emqx呢?因为免费开源的mqtt集群没有比它做的更好的了,单机百万并发,友好的dashboard。之前做物联网项目也是用的这个中间件。这里就不再阐述了,有需要可以去官网查看。本文主要记录emqx的集群搭建及nginx负载均衡。

阅读更多

通过Sock5代理访问内网服务

项目初版进入测试阶段,需要发布1.0版本的中医系统,经理给了我两台云服务器,让我将应用服务和中间件部署在这两台服务器上,配置是4核16G内存5M小水管。内存太低已经没得商量,只能优化GC了。中间件也只能做伪集群。唯一能做的就是看看能否把所有公网IP的连接更改为内网IP,毕竟内网是G口。而且数据库也是内网的。因为连接公网IP很容易将下行拉满了。但是使用内网IP又不方便在上线前测试。所以想到了用代理的方式,所有的连接基于一台测试服代理访问内网服务。

阅读更多

记一次kdevtmpfsi挖矿事件

开发环境的应用服务器突然收到腾讯云的日志检测到存在未处理的木马文件,登录上应用服务器发现CPU一直被一个进程占用100%的状态,文章记录整个病毒处理过程。

阅读更多

关于Gitlab自动化CI使用记录

公司使用Gitlab进行代码管理,CI工具可以使用Gitlab Runner,Jenkins等,这里选用Gitlab Runner。这样我们就不必每个项目都写脚本进行配置,比较烦Jenkins的一堆配置,并且Runner可以无障碍迁移。这里记录下整个使用过程及其中遇到的问题及优化。

阅读更多

Docker调整时区

使用Docker搭建redmine容器时忘记更改时区,导致运行起来后容器的时区还是utc时区,生产环境需要多考虑周边的配置。本篇文章主要记录Docke从编译,运行和运行时容器的时区配置,以供后续直接使用。

阅读更多

Gitlab Runner私钥登录失败

事情的起因是这样因为喜欢折腾,博客放云服务器又太贵,家中正好又公网IP,所以想把博客部署在家里。Gitlab Runner + Docker真香,然后我就开始折腾,将博客打包docker后我希望ssh到另外一台虚拟机上部署,将虚拟机生成公钥和私钥后,我拿私钥到runner里面去ssh一直提示证书问题。大概流程是这样,我复现一下。

阅读更多

Rabbitmq安装教程

Rabbitmq是基于AMQP高级消息队列协议开发的消息队列中间键,基于Erlang开发,最近项目中有使用到消息队列服务,在此做个笔记。

阅读更多

Debian安装配置FreeSwitch

项目中要用到Sip通话,所以顺便玩玩FreeSwitch,去年玩过一次,不过没做记录,现在已经忘干净了。介绍一下,FreeSWITCH是一个开源的电话交换平台。官方给它的定义是—世界上第一个跨平台的、伸缩性极好的、免费的、多协议的电话软交换平台。

它可以用作一个简单的交换引擎、一个PBX,一个媒体网关或媒体支持IVR的服务器,或在运营商的IMS网络中担当CSCF或Application Server等。 它遵循相关RFC并支持很多高级的SIP特性,如 presence、BLF、SLA以及TCP、TLS和sRTP等。它也可以用作一个SBC进行透明的SIP代理(proxy)以支持其他媒体如T.38等。 它支持宽带及窄带语音编码,电话会议桥可同时支持8、12、16、24、32及48kHz的语音。 它是一个B2BUA——背靠背的用户代理,用来帮助通信的双方进行实时的语音视频通信。 它支持多种多媒体通信(语音、视频、传真、即时消息)。它支持使用各种语言进行二次开发。它支持非常丰富的多媒体编码。

阅读更多

FreeSwitch添加账号

昨天把FreeSwitch安装成功,配置好,可以拨号了,系统默认会创建20个账号(1000-1019),这里用户数不够,因为项目用户数不够,所以要创建更多的用户。

阅读更多

WordPress搭建教程

大学毕业一直用Hexo博客,刚开始在本地构建提交,然后通过Github Page解析。后来觉得烦,就用自己的服务器搭建博客,利用Github钩子提交数据到服务器,服务器负责构建和部署。但是还是要通过Git,每次想换博客似乎都必须要和git扯上关系。最近想把博客系统独立,随时随地可写,随时发布,本想用Ghost,发现Ghost是收费的,最后选择了WordPress。还没有玩熟悉,不过看起来还行。使用Docker搭建,方便流畅。

阅读更多

从Seafile到Jenkins

20170315254652017-03-16.jpg

因为项目需要,又重新搭建了一次Seafile和Jenkins,Seafile是个人的私有云盘。之前搭建过一次,因为服务器太贵,一气之下全部卸了。这次搭建更加顺手,但是还是没能快速搭建和部署,还是花了半天。所以记录一下,下次再次搭建的时候,如果忘了直接照着做就ok。节约时间。Jenkins是自动化测试,部署,打包工具,两者都使得工作或者生活更方便,安全。这篇文章实在Centos7下进行搭建。Debian系列也没什么差别,上车。

阅读更多

配置运营商Sip网关

上一篇文章记录了FreeSwitch创建新用户,流程大概是这样,先拿到运营商的sip账号,配置网关,然后重载配置,在呼出计划中添加正则表达式,让系统知道,系统号码走系统网关,运营商的号码走运营商的网关。

阅读更多