博客由来 今年暑假的时候就听说github上可以免费搭建静态博客。当时虽然看了看,但还是因为服务器、网页等知识欠缺太多,几次想动手都没有坚持下去。 最近看了看Nginx的有关知识,算是对http服务器的搭建有了个大概了解。后来看到了docker,就买了《第一本docker书》这本书看了看,发现上边有些例子写的挺不错,其中就有jekyll+Apache搭建静态博客的例子,照着做一遍后,我决定用Nginx作服务器,用docker做载体,用jekyll作为网站生成工具,将这个静态博客搭建在阿里云服务器上。 于是这个博客最终在10月18日时算是初步搭建成功了,现在写这篇总结应该是算有点晚,但是由于很多细节我还欠缺很多,而且搭建博客所涉及的方面太多,很多部分我只是照搬他人成果,所以关于一些细节问题以后还要深入学习,然后再总结出来,请大家和自己期待~ 资源和费用 服务器: 我用了最便宜的那种阿里云服务器,但是搭这个博客绰绰有余。 价格:学生优惠的9.9元/月。 域名: 在万网申请的域名(貌似和阿里云并在一起了,所以做域名映射非常友好简单) 价格:买了一年,5元/年(但是再续费就贵多了) 代码托管(不是必要的): 用于存我的博客目录,包括这个小的静态网页的所有的一切。 价格:免费(github student pack) ——如此看来,搭建个博客费用是很低的,一个月10块。 组成一 :jekyll jekyll是一个简单的免费的Blog生成工具,类似WordPress。但是和WordPress又有很大的不同,原因是jekyll只是一个生成静态网页的工具,不需要数据库支持。但是可以配合第三方服务,例如Disqus。最关键的是jekyll可以免费部署在Github上,而且可以绑定自己的域名。 ——百度百科 个人感觉,jekyll是一个像使用模板一样简单的工具,只要你按照他的文件夹结构,将对应的文件放到对应的位置,然后jekyll build一下,你的网站就生成好了!。。而且配置可以集中在一个_config.yml文件中,真的很方便,即使像我一样以前没有接触过,把别人写的博客目录拿过来,也可以仿照着改成自己想要的样子。 所以,我这个博客采用的就是@RainyAlley提供的模板(github页面)目录,然后做了一些自己的修改。 关于jekyll的介绍和文档和介绍,这个是官网的中文版: http://jekyll.bootcss.com/ 组成二 :nginx Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布78。 ——百度百科 nginx肯定比jekyll的知名度高很多,他就像apache是个服务器软件。nginx可以做网站服务器,反向代理(过几天我还要写个关于反向代理的总结,这里先占位。。过几天贴链接),邮件服务器…… 在搭建本博客中,nginx起的作用就是一个静态网站服务器,只要在相关的配置文件中写好网站的目录,写好对应的域名,就可以运行起来了~~ 组成三 :docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 […]

第一次构建Docker镜像,想照着书弄个jekyll的镜像玩玩,结果两天了,到现在还没成功。记录下国内环境实践和书本上的不同。。。 首先官方的apt-get源太慢了 要换成国内的速度还可以接受一点:(原文链接) 做法: Dockerfile 中 RUN apt-get update 前添加一句: RUN sed -i ‘s/http:\/\/archive\.ubuntu\.com\/ubuntu\//http:\/\/mirrors\.163\.com\/ubuntu\//g’ /etc/apt/sources.list gem国内源貌似也不行 (原文链接) 做法: Dockerfile中添加: RUN gem sources –remove http://rubygems.org/ RUN gem sources -a https://ruby.taobao.org/ RUN gem sources -l

准备工作 环境:Ubuntu 14.04 32bit 工具:dnspython 对应的shell工具:nslookup dig等 dns预备知识: 常用资源记录RR(Resource Records)类型 A记录: 主机名–> IP地址 MX记录: 定义邮件服务器域名 CNAME: 域名间映射 PTR: IP地址 –>主机名(反向解析) 更详细介绍参考博文《 [DNS]常见资源记录定义(Resource Record) 》 用法举例 查询A记录 import dns.resolver domain = raw_input(‘input an domain:’) A = dns.resolver.query(domain, ‘A’) for i in A.response.answer: for j in i.items: if ‘address’ in dir(j): print j.address else: print ‘failed to […]

环境:ubuntu 14.04 32bit 工具:psutil 对应的shell工具:ps top lsof netstat ifconfig who df kill nice free ionice iostat iotop uptime pidof tty taskset pmap 安装: 采用pip可以安装pip install psutil。(注意需要安装python-dev: sudo apt-get install python-dev) 用法举例: 获取信息 cpu信息: psutil.cpu_times() #cpu完整信息 psutil.cpu_count(logical=False) #cpu物理个数 logical默认为True即cpu逻辑个数 内存信息: mem = psutil.virtual_memory() <!–more–> print mem.total print mem.free print mem.swap_memory() # sswap分区信息 磁盘信息 网络信息 其他信息 进程管理 […]

连接 以电脑为终端,采用基于PL2302芯片的串口转USB线链接电脑和试验箱,MAC OS X系统需要安装芯片的驱动(文件名md_PL2303_MacOSX10_6_dmg_v1_4_0.zip)通过文件内说明文档进行相关设置,然后可以连接成功。 Mac终端下用screen命令实现试验箱终端功能. screen /dev/tty.usbserial 115200 >注意拔下USB时要用A(ctrl+A)+k命令退出screen,否则会导致OS X 死机(不明原因)。如果没有退出screen直接将终端窗口关闭了,用命令ps|grep tty查找相应进程进程ID然后结束掉它(kill PID),这样再拔出USB就不会死机了。 交叉编译 需要安装arm-none-linux-gnueabi-gcc,相当于linux的arm-linux-gcc。使用方法类似gcc. arm-none-linux-gnueabi-gcc test.c -o test ftp通信传输文件 通过以太网口连接试验箱和mac,终端修改试验箱ipconfig eth0 -i 192.168.1.101 -m 255.255.255.0 -g 192.168.1.1然后执service network restart、Mac自身网络偏好设置修改两者IP使其在同一区段(192.168.1.102) 在Mac终端下用ftp命令ftp 192.168.1.101登陆试验箱linux,用户名anonymous(匿名),密码任意。 put命令具体使用方法可以参考博文《Linux 终端访问 FTP 及 上传下载 文件》 上传文件put test test 在终端上执行程序 增加可权限chmod +x test 执行:./test