给OpenVZ的VPS增加SWAP空间

很多介绍OpenVZ和XEN还有KVM的区别时候都会说OpenVZ是没有SWAP的,但实际上是可以给OpenVZ的机器增加swap的。只是这个前提是:母鸡是你的。也就是你自己拥有独立服务器的权限。当然也有一些掩耳盗铃的方式,不需要拥有母鸡的权限也可以给OpenVZ的VPS增加swap,比如:#!/bin/bashSWAP="${1:-512}"NEW="$[SWAP*1024]";TEMP="${NEW//?/}";OLD="${TEMP:1}0"umount/proc/meminfo2>/dev/nullsed"/^Swap\(Total\|Free\):/s,$OLD,$NEW,"/proc/meminfo>/etc/fake_meminfomount--bind/etc/fake_meminfo/proc/meminfo实际上,上边这个脚本只能增加一个可看但不可用的swa...

精彩继续

国人购买kimsufi.com9.9欧独服图文教程

kimsufi是OVH的马甲,9.9欧的独服均在法国机房,现在普遍反映上架的机器CPU均为N2800,硬盘普遍都是新硬盘。虽然ping值在300-400之间,但网站打开速度实际并不太慢,使用一些美国西岸的VPS做一下反代和缓存实际使用也还不错。下文以购买一个Debian操作系统的9.9欧独服为例说明下购买步骤:首先打开kimsufi,选择第一款mKS2G方案第二步,找到操作系统Linux第三步,选择Debian操作系统第四步,确认订单其中,会有19.6%的TVA额外费用,这是个欧洲的一些规定,非欧洲人可以发TK取消,但需要发一些签字的传真件。第五步,注册新用户或者已有账户登录第六步,付款没截图,付款啥的自己看熟悉的图标点就好了最后等机器上架,等待审核中间OVH(因为kimsufi是OVH的子公司,所以面板邮件等均使用OVH平台)会创建一个TK表示需要提供CardID和你注册OVH帐号时候提...

精彩继续

零散的几个知识点

打印格式漂亮的JSONByPython之前一直用在线的一些格式化JSON字符串的页面格式化一些JSON,忽然发现Python自带一个pprint的模块,直接可以输出格式化后的内容,类似PHP的print_r之流。当然,还有另一种方法简单使用Python格式化JSON字符串:print(json.dumps(data,indent=2))print函数简单增加一个indent参数即可打印格式化后的JSON字符串。给debian的vps增加内网ip很丢人的一直以为买一个独服带几个公网IP就会对应给分配几个内网IP,然后开VPS时候给每个VPS分别绑定一个/多个外网IP或者一个/多个内网IP。还特意在hostloc论坛发帖问怎么个玩法,经aarwwefdds同学指点,回家在虚拟中测试了一下,随便给VPS绑个内网ip就能ping通……实际操作步骤也很简单:1.vzctlset33--ipadd19...

精彩继续

安装pyquery

前篇文章最后有提到pyquery这个东东,终于有时间在vps上简单安装了一下,继续吐槽公司网络的限制不能ssh……有一个文章说可以直接easy_insallpyquery,但实测不能……直接贴俺测试成功的安装脚本wgetftp://xmlsoft.org/libxslt/libxslt-1.1.28.tar.gztarzxflibxslt-1.1.28.tar.gzcdlibxslt-1.1.28./configuremakeinstallcd../wgethttp://lxml.de/files/lxml-3.1.0.tgztarzxflxml-3.1.0.tgzcdlxml-3.1.0pythonsetup.pyinstallcd../wgethttp://pypi.python.org/packages/source/p/pyquery/pyquery-1.2.4.tar.gztar...

精彩继续

inotify配合rsync实现多台服务器文件实时同步

之前只是写了一个脚本在主VPS上实现同步多台服务器文件,这样每次有修改文件时候只要在VPS上执行一下对应的脚本就可以了。因为VPS上没有存放上传的图片附件等,其他文件修改也不频繁,抱着尽量少装软件节省内存的目的,所以只放了一个简单的脚本。但公司的网络有限制,必须通过代理上网,而且公司的代理屏蔽了非80的各种端口,这样一来ssh到VPS和FTP都无法使用了。前几天才看了一篇微信中的文章(鉴于某次说真话被xx给block掉了,不给丫宣传),吐槽各种极品公司的极品规定,感慨的同时也不得不说俺们厂这规定也TM够艹蛋的。所以不得不想办法实时监控一些文件的修改,这样才能尽量保证多台VPS上的文件统一。其实主要就是一些sitemap.xml文件因为VPS均是debian平台,所以这里只说debian平台的做法:uname-r看一下系统内核是不是大于等于2.6.13,因为2.6.13内核以后才加入了Ino...

精彩继续

requests抓取需登录(cookie)的页面

之前用requests比如网址缩短,再比如自动识别网站友情链接,并自动识别网站RSS地址,还有微信公共平台apiPython(bottle)版都是抓取不需要登录的页面内容。两周前使用requests做了一个简单的phpwind论坛自动登录然后打卡的小脚本,不得不说用requests做这些事比用urllib2之类要方便的多。简简单单两行代码搞定:_data={'lgt':1,'pwuser':usr,'pwpwd':pwd,'question':0,'customquest':'','answer':'','hideid':0,'forward':'','jumpurl':'http://xxx.com/u.php','m':'bbs','step':2,'cktime':cktime}r=requests.post(_url,data=_data)_cookies=r.cookies获取到...

精彩继续

Debian下crontab执行时间不正常解决办法

之前很少注意VPS上的一些计划任务执行时间,只注意到每天执行成功了就好了。昨天设置了一个零点给某论坛用户自动签到的小脚本,本来设置的是晚上0点执行,但发现没有按时执行……在VPS上输入date和date-u返回的时间均是正常,因为VPS是使用lnmp0.9的修改版脚本部署,再次确认过已经使用/usr/share/zoneinfo/Asia/Shanghai替换/etc/localtime。多次尝试后发现Debian不仅仅需要修改/etc/localtime,还需要dpkg-reconfiguretzdata设置一下时区,然后servicecronrestart重启cron服务……

精彩继续

Mysql主库服务器重启造成从库同步失败(Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position')

某一台vps最近隔一周左右就会被意外重启一次,悲催的是这台vps上正好搭着Mysql的主库,这台机器重启后会造成从库的数据库同步时候出现「Gotfatalerror1236frommasterwhenreadingdatafrombinarylog:'Clientrequestedmastertostartreplicationfromimpossibleposition'」的错误。这时候的状态是:在从库上执行SHOWSLAVESTATUS;时候会出现Slave_IO_Running:No的提示。并能找到解决办法(适用于lnmp0.9版本):登录主库服务器执行/usr/local/mysql/bin/mysqlbinlog/usr/local/mysql/var/mysql-bin.000023>test.txtlesstest.txt找到最近的一条positionid,参考下图:从库服务...

精彩继续

设置varnish记录日志并定时拆分日志

varnish记录日志通过官方推荐的方式apt-getinstall安装的varnish本身有varnishncsa这个脚本,但默认这个脚本开机并不会自动启动,即默认不记录日志。检查了下/etc/init.d/varnishncsa这个脚本的内容后发现是/etc/default/varnishncsa中一个设置在起作用,文件内容如下:root@1:~#cat/etc/default/varnishncsa#Configurationfileforvarnishncsa##Note:Ifsystemdisinstalled,thisfileisobsoleteandignored.Youwill#needtocopy/lib/systemd/system/varnishncsa.serviceto/etc/systemd/system/#andeditthatfile.##Uncomment...

精彩继续

SSH私钥取消密码(passphrase )

搞定rsync多台机器之间同步文件之后发现以前使用的ssh密钥是有密码的,这样每次同步时候还需要手动输入一次密码才可以。Google后有人提示可以使用.bash_profile配合ssh-agent来实现每次自动加载密钥到内存中,省去输入密码的环节,但.bash_profile有各种弊端,有人专门写了一个叫做keychain的小软件来解决ssh-agent的不足。但实际使用的时候依然不是很顺手,就干脆取消了私钥中的密码:1.使用openssl命令去掉私钥的密码opensslrsa-in~/.ssh/id_rsa-out~/.ssh/id_rsa_new2.备份旧私钥mv~/.ssh/id_rsa~/.ssh/id_rsa.backup3.使用新私钥mv~/.ssh/id_rsa_new~/.ssh/id_rsa4.设置权限chomd600~/.ssh/id_rsa取消掉原私钥的密码,配合c...

精彩继续