新平台新折腾

中考之前几个月,就开始准备给儿子的奖励资金,但相比其他孩子中考憋足劲索要的奖励,穷人家孩子眼界低,最后我只用了390块就把儿子打发了。
意外省下的钱于是准备挪用买台笔记本。原本家里各司其职机器不少了,但搬家之后不可能全带过去,需要整合一下。同时儿子高中三年期间,我也准备把学习的方向也调整一下,由单纯的学习了解,转向学习及应用。这样原先的DIY服务器就有些不适用了,不如买台笔记本,把客户端与服务器整合在一起。
因为还是以虚拟机为基础,所以机器性能不能太差,内存不能少,再加上要学习gpu相关知识,性价比更高的A系只能忍痛放弃,需要入门级的N系独显。再考虑需要便携,这样就只能选择更轻薄的机型。
但休假魔咒依然延续。一休假,股市就开始咣当咣当地跌,我那点奖励基金也基本维持在休假前那个水平,最后选来选去,人穷志短,破例从淘宝网买了一台宏碁14寸笔记本。
机器看配置还是不错的,高清屏,7代i5,8G内存加256G固态硬盘,入门级940mx显卡。但拿到手发现原来便宜是有原因的,虽是高清屏,但机器模具还是使用原先的,宽阔的边框让体积没有缩减瘦身,机器材质属于工程塑料,后盖一体化,连电池都固定在里面了。
但开机后,默认安装的win10速度很快,运行流畅,也算是物有所值。但这并不是我想要的,回家第一件事就是重装系统,但这个本来简单的重装废了半天时间,主要卡在BIOS设置上了,最后将UEFI改为Legacy,才算成功完成。
之前对微软与英特尔这对狐朋狗友搞出来坑爹的UEFI设计有所耳闻,但因为之前服务器都是用的老旧硬件,倒没有遇到过。看来学习新东西还是很必要的。
新平台搭建完毕,努力学习,和儿子一起进步。

学习的运气

有时候学习需要运气的,尤其是初学计算机某应用程序单位时候。
按说学习应该是学习实践结合,但根据之前的经验教训,这次学习scrapy采集的时候,是以书为本,扩展参考网上的实战资料,先不上机。为的是打牢基础,免得上机卡壳再翻书,更浪费时间。
这样的效果看来还不错。
周六让闲置许久的虚拟机服务器开工。先采集新浪博客的图片作为实践的第一步。本来按照计划,周六先把基础框架搭好,下周休假期间,再慢慢完善。
但这次运气太好了。运气好的我都怀疑我的智商了。前面几步都顺利完成,完成后,自己跟自己说,不用着急,慢慢来。但又忍不住再尝试下一步,结果有顺利完成。尤其是MySQL数据库接口那步,居然是一次编码就过关。那时感觉恨不得跑卫生间对着镜子鞠躬抱拳了。
但运气总有用完的时候。
下午临近吃完饭时,开始进入最关键的一步,就是批量自动采集,过不去了。总是只采集当前页面,也能自动爬取下一页的链接,但采集却无法继续。折腾了2个多小时没有进展。
准备放弃前,又对照发现书中代码与网络实例代码,操作部分不会有问题的,脑子突然一闪,忙对照配置部分。
果然问题出在那里,而且还是之前我总结的,外国作者总是想当然认为读者和他们有一样的开发系统设置,很少考虑对系统设置的注解。而这次问题就是出在系统的域名设置上。
更换采集域名设置,程序顿时高效运转,看着终端满屏的字符滚动,成就感满满。
半个多小时后,采集完成,共下载了700多M,8000多个文件。
初战告捷。

又是一天的折腾

最近想学习一下GPU相关知识,于是买了一块gt1030显卡,准备先学习,后换到主机上替换原先无法流畅玩守望先锋的老显卡。
首先测试的是esxi主机,主要是验证一下DirectPath问题。结果并非和网上传言的那样,低版本的显卡依然可以被选择,但是在使用过程中多次在”vmkapei loaded successfully”出错,估计和配置有关,网上一位网友说“要启用VM-FEX 结合的DirectPath I/O,虚拟机必须做内存保留(memory reservation),而且是所有内存都必须保留。这使得虚拟机插槽(slot)变得非常大,而且也使得主机无法充分利用内存,无法进行内存过量分配(overcommitment)。”这个应该是关键。
esxi不成功,就转向围棋程序leela。主板是原先看视频用的 联想A6-5200主板,集成了主频2g四核cpu,同时使用60W的适配器供电,可以使用小机箱,避免了大机箱风扇的噪音。4G内存,操作系统选择的是ubuntu针对低档主板的衍生衍生版本17.10。
安装倒非常顺利,下载leela费了不少时间,安装完毕后,执行带OpenCL加速的命令,结果机器如同死机一样,查看一下系统资源,四个本来孱弱的cpu内核都是100%运行,这样的机器基本没有可用性了。
于是把默认显卡的开源驱动换为NVIDIA自家驱动,重新启动机器后,虽然cpu依然接近满载,但整个机器的可以正常运行,分析界面也不至于卡顿了,整体机器的功耗也控制在60W以内,目标也算达到了。
折腾了一天,感觉现在真是老了,经不起折腾,而现在系统对设备要求更高了,也折腾不起了。

气死人的php7-

阿里云主机到期后,换成了香港主机,看中的是ubuntu16.04版本,但迁移之后,基本还算正常。
说是基本,是因为原先使用的wordpress安卓客户端不能使用了。
看日志,访问没有问题,但就是无法正常显示。网上看了很多,几乎都是提示修改xmlrpc配置,但都无效。
今天做最后一次尝试,想到问题出现是因为php版本转换的问题,应该是php7的问题,于是试着安装php7-xmlrpc,没想到系统提示需要安装php7.0-xmlrpc,php7.0-xml。果断安装,再用客户端登录,原先熟悉的界面显示出来了。
这已经不是第一次出现php7-的问题,看来php7默认是最小化安装,需要使用更多功能的话需要按需安装,但总要有个提示吧……

最大规模网站搬家结束

自己建站以来最大规模的站点搬家终于完成了。
从04年开始学习做网站,到07开始正式在网上安家,算来已经十余年了。但看看此次搬家的全部家当,算上网站程序也不过1G而已。期间错过了很多机会,也浪费了不少时间,但借着搬家回头看看自己的记录和随笔,自己都很奇怪自己那时怎么会有如此感想?
回顾过往,继续前行,纵目标不明,好在总有收获。

Ubuntu下配置nginx和uWSGI

昨天开始配置nginx和uWSGI的组合,网上相关文章很多,但转来转去,越看越糊涂,感觉其实就是配置nginx,和php一样listen相应端口就是了。于是试着先配置nginx。直接修改网站配置文件中

location / {
uwsgi_pass 127.0.0.1:8000;
include uwsgi_params;
}

然后按照网上写运行 uWSGI的命令行:

/usr/local/bin/uwsgi –socket 127.0.0.1:8000 –module mysite.wsgi –chmod-socket=666,

开始可以运行,但提示无app可用,后来切换到mysite项目目录下,nginx可以访问了。然后将cd 及 uWSGI命令添加到rc.local中,重启后就可以访问了。

但这样有个问题就是如果修改了django的配置,似乎无法及时更新,这个需要进一步学习。

安装IPyhon

最近开始学习Python的数据处理,首先安装IPython。首先使用pip安装,不需要指定版本,直接按照默认的就是Python3的版本。

然后jupyter notebook –generate-config 生成配置文件

通过jupyter notebook password 生成密码

这样ipython notebook –profile=myserver –ip=’192.168.17.128′ 指定好服务器ip地址,就可以通过浏览器远程登录了。

安装使用font-spider

五一期间将围棋古谱网站上线,比较一下字体,选择的是文泉驿的等宽正黑字体作为棋子的数字显示,但字体文件就8M多,只是显示数字有些太过臃肿庞大了。

后来准备使用font-spider优化字体,在ubuntu 14.04上通过apt安装并不成功,问题在node.js环境安装有问题。于是到node.js官网上安装教程安装:

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash – 安装Node.js v7

然后apt-get install -y nodejs

安装 font-spider:npm install font-spider -g

新建一个文件test.html,css部分包含:

<style type=”text/css”>

@font-face {
font-family: ‘wqs’;
src: url(‘./fonts/wqs.ttf’);
src:
url(‘./fonts/wqs.eot?#font-spider’) format(’embedded-opentype’),
url(‘./fonts/wqs.woff’) format(‘woff’),
url(‘./fonts/wqs.ttf’) format(‘truetype’),
url(‘./fonts/wqs.svg’) format(‘svg’);
font-weight: normal;
font-style: normal;
}
body{
font-family:”wqs”;
}
</style>

body中将棋谱显示数字放进去

在上传文件到linux下,font-spider test.html

生成了新的字体文件,但没有备份原字体文件,所以还是事先备份好。

继续折腾虚拟机

最近准备将围棋古谱网站上线,时间有些长了,记忆有些偏差,误以为测试是在16.04虚拟机上的,但登录时候,ssh提示拒绝连接,折腾了一晚上,其他版本的都没有问题,而我之前是没有问题的,于是认为是问题出在Virtualbox5.0上面。

于是第二天将5.0卸载,重新安装了5.1。之后问题不断。

首先是PHPvirtualbox出现问题,提示不支持最新的5.1版本。好在只是终端窗口无法使用而已,通过PuTTY还是可以登录ubuntu16.04虚拟机的,以为问题解决。谁知例行升级之后,又不能登录了。

于是试着登录Debian8.5虚拟机,没有问题。只好作罢,先升级Debian,发现php还是5.6版本,于是升级,折腾半天终于升级成功了。但对Nginx而言,需要重新设置php7-fpm的选项,调为fastcgi_pass unix:/run/php/php7.0-fpm.sock;

后来将Virtualbox的扩展安装包下载安装,重新启动,终端窗口倒是可以使用了,但Ubuntu16.04仍然无法访问、看来问题还是出现在虚拟机上,下一步试试将虚拟机主机也升级到16.04版本再试一下。

恼人的Mysql编码

昨晚折腾半天,游戏也没有玩成,总结一下,也算没有白忙:

1.什么年代了还有高大上的单位用默认latin1编码,以后导数据前先看编码。

2.失去管理权限,Mysql盗库如此轻松。

3.看来Mysql已经成为商用的主流产品,除了少数客户端外,主流客户端都已经收费。

4.综合而言,Navicat是功能最全的,免费的Heidisql功能足够强,但编码上是一个短板。

5.最后一点,微软的产品依然是烂,难怪宁可被重罚,依然不放弃捆绑垄断。