Client Adapter

基本说明

canal 1.1.1版本之后, 增加客户端数据落地的适配及启动功能, 目前支持功能:

  • 客户端启动器
  • 同步管理REST接口
  • 日志适配器, 作为DEMO
  • 关系型数据库的数据同步(表对表同步), ETL功能
  • HBase的数据同步(表对表同步), ETL功能
  • (后续支持) ElasticSearch多表数据同步,ETL功能
阅读更多

Canal 简介


**canal [kə’næl]**,译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费
工作原理

  • canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送 dump 协议
  • MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )
  • canal 解析 binary log 对象(原始为 byte 流)
阅读更多

CentOS 使用 docker 安装 sentry

服务器配置不能低于 4U 8G
Sentry 是一个开源的实时错误追踪系统,可以帮助开发者实时监控并修复异常问题。它主要专注于持续集成、提高效率并且提升用户体验。Sentry 分为服务端和客户端 SDK,前者可以直接使用提供的在线服务,也可以本地自行搭建;后者提供了对多种主流语言和框架的支持,包括 React、Angular、Node、Django、RoR、PHP、Laravel、Android、.NET、JAVA 等。同时它可提供了和其他流行服务集成的方案,例如 GitHub、GitLab、bitbuck、heroku、slack、Trello 等。
Sentry 本身是基于 Django 开发的,而且也依赖到其他的如 Postgresql、 Redis 等组件,所以一般有两种途径进行安装:通过 Docker 或用 Python 搭建。官网下分别有以下的两个介绍:
如果你选择了通过 Docker 进行安装,其实还有更加便捷的方式 —— docker-compose 。在 github 上有一个开源项目用于部署 Sentry ,我们可以直接使用该项目进行部署,首先是克隆该项目:
地址 : https://github.com/getsentry/onpremise/

阅读更多

# apache 配置反向代理

# apache 配置反向代理
<VirtualHost *:80>
    ServerName ft.sour-lemon.com
    ServerAlias ft.wanyuhd.com
    ProxyRequests Off
    ProxyPreserveHost On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://127.0.0.1:9023/
    ProxyPassReverse / http://ft.sour-lemon.com/
</VirtualHost>
%0A%0A%60%60%60%0A%3CVirtualHost%20*%3A80%3E%0A%20%20%20%20ServerName%20ft.sour-lemon.com%0A%20%20%20%20ServerAlias%20ft.wanyuhd.com%0A%20%20%20%20ProxyRequests%20Off%0A%20%20%20%20ProxyPreserveHost%20On%0A%20%20%20%20%3CProxy%20*%3E%0A%20%20%20%20%20%20%20%20Order%20deny%2Callow%0A%20%20%20%20%20%20%20%20Allow%20from%20all%0A%20%20%20%20%3C%2FProxy%3E%0A%20%20%20%20ProxyPass%20%2F%20http%3A%2F%2F127.0.0.1%3A9023%2F%0A%20%20%20%20ProxyPassReverse%20%2F%20http%3A%2F%2Fft.sour-lemon.com%2F%0A%3C%2FVirtualHost%3E%0A%60%60%60%0A%0A

语雀镜像 : # apache 配置反向代理 ,点此 提问

[译] Apache 使用 MOD_REWRITE 启用 url rewrite/url重写

原文地址:ENABLING MOD_REWRITE ON WINDOWS APACHE FOR URL REWRITING
以下几步将帮助你 windows 平台上的 wamp 启用 mod_rewrite 组件
我需要使用 .htaccess 文件来启用本地 Wordpress 站点上的url重写功能, 让url地址看起来更通俗易懂, 更漂亮. 如果 mod_rewrite 组件没有开启, 网站将不能使用任何的 url重写功能, 这个将会在 WordPress 站点报出一个 404 错误页面.
启用 mod_rewrite 将走以下步骤:

  • 启用conf 文件中的 mod_rewrite
    打开 Apache 目录的 配置文件 http.conf 对于我来说, 这个位置是 apache~/conf/httpd.conf , 在更改之前备份下这个文件, 如果出错可以从这个文件再恢复回来.
    找到#LoadModule rewrite_module modules/mod_rewrite.so, 取消前边的# 注释
  • 启用 AllowOverride
    定位到 <directory /> 所在的部分. 修改如下的内容为
阅读更多

Redis 简介

前言

Redis是常用基于内存的Key-Value数据库,比Memcache更先进,支持多种数据结构,高效,快速。用Redis可以很轻松解决高并发的数据访问问题;做为实时监控信号处理也非常不错。

阅读更多

Zabbix 主动被动

  • 主动
    zabbix server开启默认10051端口,agent调用10051接口api把数据定期上传上去。agent配置

ServerActive=zabbix_server_ip:10051

  • 被动
    zabbix agent开启默认10050端口,server定期调用10050接口api获取数据。
    配置

Server=zabbix_server_ip #防火墙一样的白名单(注意外网需要公网IP),3.4版本后可以0.0.0.0/0允许所有端口
ListenPort=10050 #接口端口号
Hostname=gpu #与zabbix web中的host name一致,唯一
上面两种模式使用一种就可以了。
StartAgents代表被动模式的工作线程数。
StartAgents=0没有被动模式的工作,即只允许主动模式。


语雀镜像 : Zabbix 主动被动 ,点此 提问

apache 开启伪静态

apache 开启伪静态 1. 打开伪静态模块

LoadModule rewrite_module modules/mod_rewrite.so

2. 配置.htaccess, 放入到mark文件夹下
  
<IfModule mod_rewrite.c>
           RewriteEngine On
           RewriteBase /mark/
           RewriteRule (.*)-(.*) index.php?m=$1&a=$2
</IfModule>

3. 开启目录中的allowOverride


4. 看结果


语雀镜像 : apache 开启伪静态 ,点此 提问

# apache 安装记录

# apache 安装记录

apachectl -t 检测错误信息

cgi 模式

参考文章:Run PHP Applications under CGI with Apache on Debian 5

Local 8021 cgi

a2enmod actions
ScriptAlias /local-bin /usr/bin
AddHandler application/x-httpd-php5 php
Action application/x-httpd-php5 /local-bin/php-cgi

fastcgi 模式

a2enmod proxy
a2enmod proxy_fcgi
<FilesMatch "\.php$">
    SetHandler "proxy:unix:/var/run/php5-fpm.sock|fcgi://localhost"
</FilesMatch>
<FilesMatch "\.php$">
    SetHandler  "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
%60apachectl%20-t%60%20%E6%A3%80%E6%B5%8B%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%0A%0A%23%23%20cgi%20%E6%A8%A1%E5%BC%8F%0A%E5%8F%82%E8%80%83%E6%96%87%E7%AB%A0%EF%BC%9A%5BRun%20PHP%20Applications%20under%20CGI%20with%20Apache%20on%20Debian%205%5D(https%3A%2F%2Fwww.linode.com%2Fdocs%2Fwebsites%2Fapache%2Frun-php-applications-under-cgi-with-apache-on-debian-5-lenny)%0A%5BLocal%208021%20cgi%5D(http%3A%2F%2F192.168.1.103%3A8021%2Finfo.php)%0A%0A%60%60%60%0Aa2enmod%20actions%0A%60%60%60%0A%60%60%60%0AScriptAlias%20%2Flocal-bin%20%2Fusr%2Fbin%0AAddHandler%20application%2Fx-httpd-php5%20php%0AAction%20application%2Fx-httpd-php5%20%2Flocal-bin%2Fphp-cgi%0A%60%60%60%0A%0A%23%23%20fastcgi%20%E6%A8%A1%E5%BC%8F%0A%0A%60%60%60%0Aa2enmod%20proxy%0Aa2enmod%20proxy_fcgi%0A%60%60%60%0A%60%60%60%0A%3CFilesMatch%20%22%5C.php%24%22%3E%0A%20%20%20%20SetHandler%20%22proxy%3Aunix%3A%2Fvar%2Frun%2Fphp5-fpm.sock%7Cfcgi%3A%2F%2Flocalhost%22%0A%3C%2FFilesMatch%3E%0A%60%60%60%0A%60%60%60%0A%3CFilesMatch%20%22%5C.php%24%22%3E%0A%20%20%20%20SetHandler%20%20%22proxy%3Afcgi%3A%2F%2F127.0.0.1%3A9000%22%0A%3C%2FFilesMatch%3E%0A%60%60%60%0A%0A

语雀镜像 : # apache 安装记录 ,点此 提问

[转] 使用 supervisor 管理进程

原文地址 : 使用 supervisor 管理进程
Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。除了对单个进程的控制,还可以同时启动、关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动。

阅读更多

[译+] 设置通过 Nginx 来访问 SupervisorUI 并支持 tail 访问

原文地址:Set up Supervisor Web UI behind nginx with tail function working
Supervisor (supervisord) 是广为人知的 UNIX 进程控制系统
它包含了 Web UI, 可以列出当前的进程, start/stop, tail log;

使用  nginx 作为代理来访问 supervisord, 使用访问  /supervisord/  作为示例, 如果使用 tail 函数可以正常访问可能会有些棘手.
首先,确保您的 Supervisor 配置文件(默认位于 /etc/supervisord.conf 中)包含以下内容:

阅读更多

Mac 上使用 brew 安装 Supervisor

在 Mac 上, 你可以使用 brew 很方便的安装 mongo, redis 等服务. 并且将这些服务加入启动项目中, 由于 supervisor 必须是以 root 用户方式去运行的, 所以加入到启动项目的时候需要加入到可以以 root 进行的目录, 否则 supervisor 运行没有相关权限会报错的.

阅读更多

[转] Apache Rewrite 规则详解

原文地址 : Apache Rewrite 规则详解
在开篇之前:
我想说这篇文章其实是我刚刚接触Rewrite的时候学习的文档,应属转载,但是在这里我不想写明原地址,原因是文章中大多数给出的配置命令经实验都是错误的。需要原文的可以在谷歌上搜索一下”Apache Rewrite 规则详解”
好在我对正则表达式有所了解,把原文的代码都通过自己的理解改写了一下,并都能够达到题设的要求,并联想需求添加了例子。
本文是经过我实验后修改有效的,如果还是出现500错误请去掉  #  及后面的注释(也许有些环境不支持中文注解),如果还是错误请在下面给我留言。
1、Rewrite规则简介:
Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言。可基于服务器级的(httpd.conf)和目录级的(.htaccess)两种方式。如果要想用到rewrite模块,必须先安装或加载rewrite模块。方法有两种一种是编译apache的时候就直接安装rewrite模块,别一种是编译 apache 时以DSO模式安装 apache,然后再利用源码和apxs来安装rewrite模块。
基于服务器级的(httpd.conf)有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用RewriteEngine on来打开rewrite功能,下面将会举例说明,需要注意的是,必须在每个virtualhost里用RewriteEngine on来打开rewrite功能。否则virtualhost里没有RewriteEngine on它里面的规则也不会生效。
基于目录级的.htaccess,要注意一点那就是必须打开此目录的FollowSymLinks属性且在.htaccess里要声明RewriteEngine on
2、举例说明:

例一.下面是在一个虚拟主机里定义的规则。功能是把client请求的主机前缀不是www.kiya.cn和70.40.213.183都跳转到主机前缀为 http://www.kiya.cn,避免相同内容的网页有多个指向的域名,如 http://kiya.cn。

阅读更多

Centrifugo 介绍

Centrifugo 说明

Centrifugo 是一个实时消息发送方, 我们项目中将其作为一个服务方来使用, 聊天室的实时通知, 项目中的消息推送到客户端都可以用其来实现, 因为后端使用的是 Go语言所以暂时无法和服务端进行通讯, 只能单向发送

此项目需要了解

  1. Centrifugo 项目

存储了各个平台的配置文件以及 Mac/Linux Centrifugo 运行模块

目录树如下

阅读更多

apache做301重定向的方法

重写方式

使用mod_rewrite重写URL的方式来做,做之前朋友记得检查一下你的apache是否已经加载了rewrite模块。如图所示的那个模块,在apahce的httpd.conf文件里面查看

如果已经支持了rewrite,直接在你要做的站点配置文件里面添加以下代码,注意修改域名为你要做的域名。

阅读更多