VMware克隆多台实例构建分布式系统

背景

开始使用多种分布式系统, 搭建本地开发环境.

环境参数

  • 宿主机操作系统: Windows 7
  • 虚拟化软件: VMware WorkStation 12.1.0
  • 虚拟机操作系统: CentOS 6.5

安装

略…

注: 安装完毕后记得将该实例作为基础实例进行备份, 以后需要添加实例的时候直接克隆该实例即可.

设置静态IP

笔者虚拟机实例网络模式使用桥接模式, 此模式可使实例获得独立IP, 并能与所在网段的其它机器互相通讯.

查看eth0是否启用

1
ifconfig

如果启用了的话, 会显示相关信息;

阅读全文 »

一台电脑上同时使用github和gitlab

使用Git生成github和gitlab各自的钥匙

注: windows的命令行不太好用, 建议用Windows的朋友安装gitbash

ssh钥匙文件默认存储于操作系统当前用户目录的.ssh子目录下

为了生成自命名的钥匙, 切换到.ssh作为当前目录

1
2
$ cd ~
$ cd .ssh

生成github钥匙

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ ssh-keygen -t rsa -C "arccode@163.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/ZL-arccode/.ssh/id_rsa): github_id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in github_id_rsa.
Your public key has been saved in github_id_rsa.pub.
The key fingerprint is:
SHA256:MV7M1OCoiiIazgV8D52uNxhs9zi840PbT2CfOFDLhYQ arccode@163.com
The key's randomart image is:
+---[RSA 2048]----+
| .. .... |
| E. + +. |
| + = + |
| . = = + |
| j.= C S |
| +** + . |
| +oO= + |
| .ooOi=o |
| .o=B* o. |
+----[SHA256]-----+
阅读全文 »

Mac下修改MySql root密码

背景

安装MySql后, 未及时修改安装时的root默认密码, 密码过期; 需要重置密码.

修改步骤

停止MySql服务

系统偏好设置 → MySql → Stop MySql Server

修改密码

  • 打开一个终端 → sudo /usr/local/mysql/bin/mysqld_safe –skip-grant-tables
  • 打开另一个终端 → sudo /usr/local/mysql/bin/mysql -u root → UPDATE mysql.user SET authentication_string=PASSWORD(‘新密码’) WHERE User=’root’; → FLUSH PRIVILEGES; → \q
阅读全文 »

源码安装nginx并详解配置

背景

Nginx是一款轻量级的网页服务器、反向代理服务器.相较于Apache、lighttpd具有占有内存少,稳定性高等优势.它最常的用途是提供反向代理服务.

安装依赖

yum -y install gcc gcc-c++ autoconf automake make

nginx 中gzip模块需要 zlib 库,rewrite模块需要 pcre 库,ssl 功能需要openssl库

安装PCRE

1
2
3
4
5
6
7
cd ~/source-module
wget http://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.41.tar.gz

tar -xzvf pcre-8.41.tar.gz
cd pcre-8.41
./configure --prefix=/usr/local
make
make install

安装zlib

1
2
3
4
5
6
7
cd ~/source-module
wget http://zlib.net/fossils/zlib-1.2.8.tar.gz
tar -xzvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local
make
make install
阅读全文 »

免费跳过视频网站的广告--通杀主流平台

背景

看了腾讯动漫各位导演的演讲, 好有感触, 特意找了一部提及的动漫(妖怪名单)进行观看, 总共18集; 看了2集觉得不错, 想直接看完, 但每次都有60s广告时间, 烦人. 速度浏览了下该站点前端代码, 哈哈, 很好解决这问题, 接下来详细讲解各种手法.

以下手法经测试, 可以秒杀目前流行的各大视频平台.

工具

chrome浏览器

手法分类

针对不同的用户群体, 给出相适应的避广告手法.

阅读全文 »

微信扫码登录场景实现及延伸

背景

用过微信网页版的人应该都清楚网页登陆的流程,大致描述一下这个过程:

  1. 打开网页版登陆链接
  2. 页面会显示一个二维码
  3. 用微信客户端扫描二维码,让用户确认登陆网页版
  4. 如果确认登陆,网页版会自动进入聊天界面

这个过程的交互方式和一般的WEB应用不太一样,步骤4网页自动跳转,明显是由服务端主动推送了内容给网页端,网页端收到跳转确认后才触发的,这里就引出了今天要讨论的问题:服务端推送技术.服务端推送又称为Comet,服务端异步处理等.很早以前就出现了,但一直没有一个统一的标准,存在着不少Comet技术框架,各个Web容器也各自实现了自己的Comet支持.最近公司的产品也出现了和微信网页版登陆类似的场景,需要用到Comet技术,我简单的研究了下,写下来记录一下.

阅读全文 »

使用jconsole监控JVM运行状况

背景

最近有个服务运行几天就会莫名其妙的无法调用, 但使用jps -m|grep 服务名称指令查看后发现服务进程仍然存在; 因此怀疑可能是有内存泄漏导致进程编程”僵尸”进程.

为此决定使用jconsole来对指定进程的JVM进行监控, 下面将详细介绍如何配置Linux JRE来监控内存.

阅读全文 »

Linux下MySQL_5.5的修改字符集编码为UTF8

背景

mysql安装后, 插入的数据位乱码, 经检查为默认字符集是latin1, 而程序使用UTF-8.

检查字符集

1.使用ssh终端连接mysql

1
mysql -h 127.0.0.1 -u root -p

2.查看字符集

1
show variables like 'character%';
阅读全文 »

ngrok暴露本地Web应用映射到外网

背景

开发第三方支付, 需要接收第三方回调(即在外网上暴露api), 发现ngrok可以完成该业务, 下面具体介绍其使用.

阅读全文 »

SOA服务总线设计

背景

基于总线的设计,借鉴了计算机内部硬件组成的设计思想(通过总线传输数据).在分布式系统中,不同子系统之间需要实现相互通信和远程调用,比较直接的方式就是“点对点”的通信方式,但是这样会暴露出一些很明显的问题:系统之间紧密耦合、配置和引用混乱、服务调用关系错综复杂、难以统一管理、异构系统之间存在不兼容等.而基于总线的设计,正是为了解决上述问题.总线则作为中枢系统,提供统一的服务入口,并实现了服务统一管理、服务路由、协议转换、数据格式转换等功能.这样能够将不同系统有效地连接起来,并大大降低了连接数(每个子系统只需要和总线建立连接)和系统间连接拓扑的复杂度.

阅读全文 »