KVM的新建虚拟机无法上网

KVM是各大Linux,尤其是2.6版本以后内核中内置的虚拟化,事实上,小鸡的虚拟化的性能还不如VMWARE不过,鉴于KVM的母鸡也可以做生产环境,这点就比vmware好很多(应该没有人傻到用母鸡做生产环境把?)

最近在家里做实验,需要用到很多小鸡,无法不想买杜甫,而且国外的杜甫贼贵。只能在家里跑。

用一台I3 16G 3T的鸡鸡跑。

bridge都已经弄好了

新建小鸡发现

小鸡无法上网。只能查看自己在公司弄的测试服的kvm

看到了interface 里公司的是bridge

而我的小鸡是network

好吧,在看看/etc/libvirt/qemu/network里面的配置文件,好吧,是NAT转发的配置,我在内网,IP随便我搞,我还用得着NAT?

果断修改小鸡的配置

virsh destroy xiaoji

virsh edit xiaoji

把interface里面改成bridge

source也改成bridge=’br0′

搞定能上网了。欢快的做实验去咯。

BudgetVM 洛杉矶LA 的CN2 测试

budgetvm

BudgetVM是一家国外VPS提供商,提供了基于OpenVZ,XEN的vps以及独立服务器。这家成立之初(不是他的母公司enzu),84还没死。15刀年付还是BuyVM的专利。而他家的网络也一直是咱们所诟病的。毕竟价格便宜,而且IP也多。所以很多国人涌入。不过随着近来的CN2线路的开通,明显BudgetVM这家的机器对国内的效果越来越好了。

这货还是支持支付宝的。

阿福特地入了一个测试了一番

还用阿里云监控了ping值

点击直达监控

需要的盆友赶紧上。线路毕竟是新线路比老线路要好。不过最近这货没什么优惠罢了。

官网:http://www.budgetvm.com

unknown url type: https — Some packages may not be found!

Python 编译安装之后出现安装其他包的时候:  unknown url type: https — Some packages may not be found!

这个错误是因为你编译之前没有安装Openssl-devel包

所以提醒广大盆友编译Python前先装一个yum install -y openssl*

当然如果你觉得装的包太多了的话也可以直接

yum install openssl-devel

或者

apt-get install openssl-dev

Compression requires the (missing) zlib module

Compression requires the (missing) zlib module

 

这个问题是出在python编译安装的时候。

为何会有编译安装

1、你想用不同版本的python

2、你的版本太老了。

 

所以,解决方法是

yum install zlib

yum install zlib-devel

 

debian -based系统

应该是apt-get install zlib

apt-get install zlib-dev

WIN 8 密钥,先收藏着

  win8.1产品密钥:

核心版安装密钥:334NH-RXG76-64THK-C7CKG-D3VPT

专业版安装密钥:XHQ8N-C3MCJ-RQXB6-WCHYG-C9WKB

单语言版安装密钥:Y9NXP-XT8MV-PT9TG-97CT3-9D6TC

中文版安装密钥:TNH8J-KG84C-TRMG4-FFD7J-VH4WX

win8.1 专业版 key(可电话激活):

GMDYM-NCKGV-V44HG-XJRK3-C36VD

GMDYM-NCKGV-V44HG-XJRK3-C36VD

win8 pro9PG6N-PGWCG-WTFXK-79MVT-68XT7

R2V2G-N378F-VG3YY-W8BB7-94PKV

7WXNJ-XG8BK-W29VG-MYYJT-Y949V

PDQJ3-MQNRP-V4BTT-27HCD-G8XT7

QDN3G-P4JXV-J32VJ-KVY47-3JXT7

win8 ent

NBMD4-R2X34-3VX3J-246WF-DJXVC

win8

YKTCC-7NTMT-2XT3C-7W7C6-PDG63

354d964a-56e7-43c5-a93f-287a7a750bd4

核心版(multiple editions): 334NH-RXG76-64THK-C7CKG-D3VPT

专业版(Professional): XHQ8N-C3MCJ-RQXB6-WCHYG-C9WKB

Windows 8.1 简体中文专业版+核心版 MSDN 正式版(64位)

Windows 8.1 (multiple editions) (x64) – DVD (Chinese-Simplified)

文件名: cn_windows_8_1_x64_dvd_2707237.iso

SHA1:F79E0093DDEDD488F40D4AE6B6F0FA3C529051E1

Windows 8.1 简体中文专业版+核心版 MSDN 正式版(32位)

Windows 8.1 (multiple editions) (x86) – DVD (Chinese-Simplified)

文件名: cn_windows_8_1_x86_dvd_2707405.iso

SHA1:D07E7CA99B455FFC0B58BE96333D1F554FE83D8A

python 2 安装某些包出现的致命错误: libxml/xmlversion.h:没有那个文件或目录

致命错误: libxml/xmlversion.h:没有那个文件或目录

debian based(debian ubuntu)
apt-get install libxml2-dev
sudo ln -s /usr/include/libxml2/libxml   /usr/include/libxml

 

red-hat based(centos,fedora)

yum install libxml2-devel

sudo ln -s /usr/include/libxml2/libxml   /usr/include/libxml

 

出现

libxslt/xsltconfig.h: No such file or directory

 

debian based(debian ubuntu)

apt-get install libxslt-dev

 

red-hat based(centos,fedora)

yum install libxslt-devel

在xshell 手贱下ctrl+s 后的解决办法

妈蛋,由于编辑代码养成的习惯,当打完某一行的时候习惯性的会ctrl+s一下。

就连网页提交也是。在填写完之后,都会习惯性的ctrl+s保存一下。

不过网页提交是弹出一个保存框。还好

但是xshell的‘保存’则是直接就不让你输入了。

我去,还有这功能?我看了xshell的快捷键,发现根本没有这个组合键。突然想到可能是linux的组合键。

所以,你懂的。。。妈蛋是linux的锁屏键,解决方法是ctrl+q 就出来了。妈蛋坑爹的习惯!!!!!!!!!!

OS X 安装了MySQL官网的MySQL之后乱码的问题

这是因为MySQL官网默认设定的字符集为拉丁字符集。自然不兼容我们的中文,所以乱码了。不过如果你是自己在mac编译安装的应该不会有这种问题,因为编译的时候就可以直接设定默认字符集了。也不需要看到这篇博文了。

当然阿福写这篇博文的主要目的是为了告诉小伙伴们,图方便的后果就是,你以后会更麻烦。

安装MySQL不说了,毕竟直接去MySQL官网下载一个MySQL的DMG直接安装就OK了。和win下一模一样,一路next,分分钟搞定。

下面阿福要说的就是MySQL的编码问题。官网下载的DMG的编码默认字符集就是拉丁字符集。和我们平常使用的utf8还有GBK有很大的不同,所以会造成乱码的问题。

解决方案就是在

/etc/my.cnf下面设定一下。

一般玩过Linux的小伙肯定很熟悉。不过用mac的不一定是玩过Linux的。所以,你懂的。

一般DMG安装的MySQL是不带my.cnf的,在/etc目录下。所以你自己需要新建一个,内容如下

[client]

default-character-set=utf8

[mysqld]

character-set-server=utf8

复制黏贴进去,然后丢到/etc目录下面就OK了。当然熟悉命令行的也可以直接sudo vi

重启MySQL之后 进入MySQL用 show variables like ‘character%’; 查看就OK了若成功,除了一个路径一个二进制的英文之外,其他都应该是utf8的。若不成功,你去撞豆腐死吧,没人可以教你了!!(PS 放到/etc目录下需要密码的事情,你TMD都用MAC那么久了还不知道?玩个P啊趁早把MAC邮寄给我得了!!!!!)

Python 使用QQ邮箱发邮件

QQ邮箱太恶心了。经常改验证方式

阿福最近的脚本不能用了,研究了一上午。

终于研究出来了。

def sendmail(data):
    content = data['content']
    msg = MIMEText(content,_subtype='plain',_charset='utf8')
    msg['Subject'] = data['Subject']
    msg['From']= data['From']
    msg['To'] = ';'.join(data['mail_list'])
    try:
        server = smtplib.SMTP()
        server.connect(mail_host)
        server.starttls()
        server.login(email,auth_key)
        server.sendmail(data['From'],data['mail_list'],msg.as_string())
        server.close()
        return True
    except Exception,e:
        for x in e:
            print x
        return False
sendmail(data)

代码如上

需要的变量有
email string 用户名
auth_key string 授权码(非邮箱密码)
data dict 数据字典

构造好之后就能够登录发邮件了。效果非常好

 

[总统日]优惠:6.99美元/年 OpenVZ 洛杉矶

AlphaRacks-High-Performance-Budget-VPS-Budget-Dedicated-Servers-Affordable-OpenVZ-VPS-DDoS-Protection-Los-Angeles-Proxy-Protection-2013-11-12-11-05-16-300x191

 

alpharacks是一家美国VPS提供商,提供了基于OpenVZ和KVM的VPS,数据中心在美国的洛杉矶的PR也就是现在的QuadraNet对国内的速度表现非常好。今天还是明天,反正是美国的总统日,这货发了促销,一共有4款,其中最低一款价格为6.99美元/年,价格十分的诱人。需要的童鞋可以试试看。

 
支持系统:linux,windows(windows 仅在选择windows的VPS时才可选)
 
机房选择:洛杉矶PR(QN)
 
支持服务:
24/7 不间断服务
 
测试:
洛杉矶:198.55.111.5
100M地址:http://repos.lax-noc.com/speedtests/100mb.bin

优惠:22.5/月 512M KVM 美国

kvmla

这是K总的起家品牌。口碑和性能不多说了,坚挺那么多年就是一个非常好的证明。阿福隐约记得,K总当年和组长他们火拼的场景。即便是现在,也是非常给力。阿福手头还留有K总在MJJ论坛的免费OVZ 小鸡。正式的介绍就是:KVMLA 是一家坚持超过5年的VPS提供商,提供了基于KVM架构的VPS(起初有xen和OpenVZ,由于有负KVM之名,改为只有kvm)。临近年关,KVMLA的K总提供了一款5折优惠码,512M 的KVM 月付仅需22.5元,年付也仅需250元,疗效非常好。在香港遍地抽的年代,US和国内都还是相对来说稳定的。所以来把

优惠码:CRXUC1C2C7

优惠机型:

 

系统支持:linux、windows

机房选择:洛杉矶(CA),福利蒙特(CA),凤凰城(AZ)

支持服务:

支持直接安装windows和Linux系统,三个机房供选择。
春节期间是一年难得亲人相聚时间所以各种情况下比平常慢,在Kvmla如果遇上问题直接发邮件或者提交工单。
例如网络问题可以备份好数据申请更换机房或者申请取消订单把钱存在账户年后再用,一般商家退款到预存余额都是全额,退款回支付宝的会扣手续费大额交易的很不划算。

测试:

洛杉矶:http://phx.lg.klayer.com/

福利蒙特:http://lax1.lg.klayer.com/

凤凰城:http://fmt.lg.klayer.com/

让你网络上的某个私密站点只能你一个人访问

前置条件,你得稍微懂得nginx的配置,至少你得懂得lnmp 中nginx 配置的修改(其实所有nginx的配置都一样的。)

首先这个得跟我写的 《写了个小python程序——用python来修改DNSPod的解析记录值》联起来看,这玩意是用来做DDNS的。不过如果你有其他的DDNS的话,例如noip.com 这家的动态DNS的话,那么就可行了。如果没有DDNS的话,你得用我上面的小脚本在每次开机之后运行一下(事实上是每次断网更换IP之后运行一下。)

先说一下原理。

原理就是通过nginx的allow 和deny规则来限制。

首先,通过脚本来抓去你的ddns的IP

这一步我是通过py来实现的,毕竟简单,几句话就OK了。

其次是修改nginx,这个也简单,3句话就搞定了,这个我是通过bash来实现的。

为什么不用py或者单独的bash来实现呢?其一,我学艺不精。其二,我懒(其实这个才是主要的。)

用python脚本来实现获取IP,并写如日志

然后用bash来更新nginx配置。事实证明用python脚本写字符串更新什么的,还是用sed写快的一比~

用法如下在

root 目录下创建2个目录1为python,2为shell

将http://rffan.info/scripts/python/getip.py 放到python 目录下

将http://rffan.info/scripts/bash/change.sh 放到shell目录下。

另外这个change.sh需要改一下东西,包括nginx配置文件的路径。毕竟我是通过yum来安装nginx的,而不是使用的军哥一键包等一键安装工具安装的一般你们的nginx配置文件会在/usr/local/nginx/conf/vhost 目录下面。只要你们把我的/etc/nginx/conf.d 这个目录替换掉就OK了。

另外就是要替换前必须得写好规则,例如

在nginx的server字段里面要添加好

allow xx.xx.xx.xx;

deny all;

必须allow在前,否则deny先生效,所有人都无法访问。

至此,混乱的教程结束,看的懂就看,看不懂也不要找我,我要睡觉。

 

Windows 下部署MongoDB

第一步当然是你去MongoDB官网下载MongoDB Windows版本咯。

下载下来后是一个安装包

第二部,安装这个安装包(其实不叫安装,叫解压更贴切一些。因为写Windows 安装包的那些货根本就没把这个安装包写好,纯粹就是解压。)

第三部,找个地方放你的MongoDB的数据库和log的地方,一般我就放在安装目录的data下和logs目录下

例如我的MongoDB是安装在H:\mongodb下,那么我一般会在该目录下新建三个文件夹分别是data文件夹,log文件夹和etc文件夹

data文件夹,顾名思义就是放数据的,log文件夹就是放文件的,而etc文件夹就是放配置文件的。

第四部,我们来到etc文件夹,新建一个mongo.conf 名字随便你取,反正要MongoDB能访问到。

内容如下

dbpath=H:\mongodb\data
logpath=H:\mongodb\logs\mongo.log

然后打开CMD 测试一下是否正常H:\mongodb\bin\mongod.exe –config H:\mongodb\etc\mongo.conf

正常则说明我们可以给他建立服务了。

命令如下

sc create MongoDB binPath=”H:\mongodb\bin\mongod.exe –config H:\mongodb\etc\mongo.conf –service” displayname=”MongoDB Standard Server” start= auto

(等号前后请勿加空格!!!会很坑爹的。windows 居然也有不智能的时候。!!!)

当然这个CMD是在以管理员权限下运行的,否则会出现 Access Dined

ok 至此完成

使用 命令 net start MongoDB 来启动他。

如果要删除,也请在管理员权限下运行sc delete MongoDB来删除。