再见少年拉满弓,不惧岁月不惧风

Python with RabbitMQ to create fanout Exchange

接收端 #coding=utf-8 __author__ = 'nate' import pika from pika.exceptions import ProbableAccessDeniedError from pika.exceptions import ProbableAuthenticationError if __name__ == '__main__': parameters = pika.URLParameters('amqp://nate:[email protected]:5672/test_vhost') conn = None channel = None try: conn = pika.BlockingConnection(parameters) channel = conn.channel() channel.exchange_declare(exchange='logs', type='fanout') result = channel.queue_declare(exclusive=True) queue_name = result.method.queue channel.queue_bind(exchange='logs', queue=queue_name) def get(ch, method, props, body): print 'message: %r' % body channel.basic_consume(get, queue=queue_name, no_ack=True) channel.start_consuming() except ProbableAccessDeniedError: print 'Access Denied' except ProbableAuthenticationError: print 'Authentication Error' except KeyboardInterrupt: print 'exit' finally: if channel: channel.

在 CentOS 6.5 安装 RabbitMQ

更新源 yum install wget -y wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo yum makecache 安装包 yum install gcc make gcc-c++ xmlto zip unzip ncurses-devel openssl-devel -y 安装python-simplejson & git yum install python-simplejson -y yum install git-core -y 安装Erlang 下载 www.erlang.org wget http://www.erlang.org/download/otp_src_17.4.tar.gz 编译安装 tar zxvf otp_src_17.4.tar.gz cd otp_src_17.4 ./configure make -j 4 make install 安装RabbitMQ 下载 www.rabbitmq.com wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.4.2/rabbitmq-server-3.4.2.tar.gz 编译安装 tar zxvf rabbitmq-server-3.4.2.tar.gz cd rabbitmq-server-3.4.2 make TARGET_DIR=/opt/rabbitmq SBIN_DIR=/opt/rabbitmq/sbin MAN_DIR=/opt/rabbitmq/man DOC_INSTALL_DIR=/opt/rabbitmq/doc install 建立软链接 ln -s /opt/rabbitmq/sbin/rabbitmq-server /usr/bin/rabbitmq-server ln -s /opt/rabbitmq/sbin/rabbitmq-env /usr/bin/rabbitmq-env ln -s /opt/rabbitmq/sbin/rabbitmq-plugins /usr/bin/rabbitmq-plugins ln -s /opt/rabbitmq/sbin/rabbitmqctl /usr/bin/rabbitmqctl 启用 rabbitmq_management mkdir -p /etc/rabbitmq rabbitmq-plugins enable rabbitmq_management 启动 rabbitmq-server -detached 查看安装的插件 rabbitmq-plugins list 停止 rabbitmqctl stop 开放端口 iptables -I INPUT -p tcp --dport 5672 -j ACCEPT iptables -I INPUT -p tcp --dport 5672 -j ACCEPT 增加用户及加入administrator rabbitmqctl add_user nate 123123 rabbitmqctl set_user_tags nate administrator 删除用户 rabbitmqctl delete_user guest 修改密码 rabbitmqctl change_password nate 123123 访问管理平台 http://10.

Python 生成 /etc/shadow 的密码

说明 * SHA512加密 * OSX下生成的密码不对 代码 #coding=utf-8 """ Usage: topwd.py <password> """ __author__ = 'nate' import random import crypt from docopt import docopt if __name__ == '__main__': args = docopt(__doc__) password = args['<password>'] salt_set = ('abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' '0123456789./') print crypt.crypt(password, '$6${salt}'.format(salt=''.join([random.choice(salt_set) for i in range(8)])))

根据镜像创建KVM主机

检查是否开启CPU虚拟化 cat /proc/cpuinfo | egrep "(vmx|svm)" --color=always 禁用selinux vim /etc/selinux/config SELINUX=disabled setenforce 0 设置转发 sed -i 's/^\(net.ipv4.ip_forward =\).*/\1 1/' /etc/sysctl.conf; sysctl -p 安装 yum -y install @virt* dejavu-lgc-* xorg-x11-xauth tigervnc libguestfs-tools policycoreutils-python 设置libvirt自动开启并重启 chkconfig libvirtd on;reboot 验证是否加载KVM模块 lsmod | grep kvm 创建虚拟机做为镜像 查看可选用的操作系统 virt-install --os-variant=list | more 安装CentOS 6.5 下载 wget http://mirrors.aliyun.com/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-minimal.iso 创建磁盘文件 qemu-img create -f qcow2 -o preallocation=metadata /data/centos65.qcow2 8G 安装 virt-install --os-variant=virtio26 --network model=virtio,bridge=br0 --disk /data/centos65.qcow2,sparse=false,bus=virtio,size=8 --cdrom=/data/CentOS-6.5-x86_64-minimal.iso --graphics vnc,listen=0.

两台物理机用Open vSwitch组成 Vxlan

说明 环境根据: 用 Open vSwitch 的内部端口连接两个 Namespace 用 patch port 连接两个 OVS 网桥 本机IP为 10.211.55.59 创建网桥 ovs-vsctl add-br br0 ovs-vsctl add-br br1 ip link set br0 up ip link set br1 up ovs-vsctl add-port br1 eth0 设置eth0的BOOTPROTO="none" dhclient br1 增加命令空间 ip netns add ns1 创建内部端口 ovs-vsctl add-port br0 tap1 -- set Interface tap1 type=internal 设置命令空间 ip link set tap1 netns ns1 配置 ip netns exec ns1 ip addr add 192.168.0.110/24 dev tap1 ip netns exec ns1 ip link set tap1 up ip netns exec ns1 ip link set lo up ip netns exec ns1 ping 192.

用 Open vSwitch 的内部端口连接两个 Namespace

增加两个Namespace ip netns add ns1 ip netns add ns2 增加网桥 ovs-vsctl add-br br0 创建内部端口 ovs-vsctl add-port br0 tap1 -- set Interface tap1 type=internal ovs-vsctl add-port br0 tap2 -- set Interface tap2 type=internal 设置命令空间 ip link set tap1 netns ns1 ip link set tap2 netns ns2 配置 ip netns exec ns1 ip addr add 192.168.0.100/24 dev tap1 ip netns exec ns1 ip link set tap1 up ip netns exec ns1 ip link set lo up ip netns exec ns1 ping 192.
0%