发布于 06月12, 2018

使用 docker-compose 来管理开发环境

在这之前,我的开发环境都直接使用 docker run 命令来启动各开发环境的容器(https://github.com/xlanger/docker),修改运行参数后重建环境操作还是略显麻烦,比如对某个容器参数调整并重建以后,IP并不是固定(开发环境中没有使用docker网络模式),--link 相关依赖的容器中已经绑定的了之前的IP,也需要相应的调整。

阅读全文 »

发布于 06月11, 2017

Python 开发环境

Anaconda 是一个收集了超过720开放源码软件包与免费社区支持的 Python 发行版本,其中就有一个叫做 conda 的软件包管理、依赖管理和沙盒环境管理的神器,号称支持任何语言。对于 Python 这门编程语言来说,有一个叫做 virtualenv 的工具和一个叫做 virtualenvwrapper 的工具可以为之提供沙盒环境,区别是后者对前者进行了封装扩展,使用起来更简单方便些了。

阅读全文 »

发布于 04月22, 2017

在 CodeIgniter 3 中高效使用 Model 类及其事务处理(2)

上一篇中,调用 Mdb::transaction() 方法同时取得了数据库链接的实例,并开启了事务,另外该方法只使用了调用名 db ,也就是只取得了 master 配置的事务支持。在下面修改后的 model 类中,支持了多配置的事务支持,跨库操作省事多了,而且是当 transaction 块中真正需要访问数据库了,才实时的取得数据库链接的实例,下面直接看代码吧。

阅读全文 »

发布于 04月04, 2017

在 CodeIgniter 3 中高效使用 Model 类及其事务处理(1)

CodeIgniter 3 中,要使用数据库模型,通过继承【数据模型超类】CI_Model 就可以很方便的达到目的了。继承之后,当引用了不存在的属性时,则通过访问【数据模型超类】的魔术方法 __get 找到【控制器超类】 CI_Controller,【控制器超类】则把任务托管到【加载器超类】CI_Loader,调用【加载器超类】初始化方法 initialize,根据自动加载配置中的配置项完成整个运行环境的初始化。

阅读全文 »

发布于 03月07, 2017

使用 Let's Encrypt

Getting Started Let’s Encrypt

要为你的网站启用HTTPS,你需要从证书颁发机构得到一份证书,Let’s Encrypt 正是这样的证书颁发机构。为从 Let’s Encrypt 获得一份你的网站主机证书,你必须证明你控制着这台主机,对于 Let’s Encrypt 来说,你可以使用正运行在你站点主机上的ACME协议支持的软件应用来做到这点。To enable HTTPS on your website, you need to get a certificate (a type of file) from a Certificate Authority (CA). Let’s Encrypt is a CA. In order to get a certificate for your website’s domain from Let’s Encrypt, you have to demonstrate control over the domain. With Let’s Encrypt, you do this using software that uses the ACME protocol, which typically runs on your web host.

阅读全文 »

发布于 02月28, 2017

创建独立密钥对连接 Github

首先使用 ssh-keygen 创建密钥对,启用一个代理进程 ssh-agent 用于保管私钥,让其代理完成SSH链接的验证过程,其可同时管理多个私钥,然后使用 ssh-add -K 添加私钥到代理进程的私钥链中,-K 参数要求将私钥的验证密码也存到代理的私钥链中,代理SSH校验时自动使用,将公钥部分内容添加到 Github 的 SSH Keys 列表,最后使用 ssh -T 测试连接是否可用。

阅读全文 »

发布于 02月15, 2017

从PHP官方镜像创建开发镜像

PHP官方镜像提供了几个工具命令来帮助安装扩展,只是安装扩展前需要手动安装相应的依赖。

用工具命令 docker-php-ext-install 安装PHP内核提供的扩展,如:docker-php-ext-install -j$(nproc) mcrypt,用 docker-php-ext-configure 自定义配置安装扩展时的配置参数,如:

阅读全文 »

发布于 02月09, 2017

个人博客搭建

当前环境是阿里云ECS,运行系统 CentOS,为方便以后维护和迁移,我利用 Docker 容器来运行各个独立模块。采用开源博客系统 FireKylin,该系统是用 ThinkJS 框架开发的,框架本身则使用的是 Node.js 作为服务端语言,博客系统搭档了 MySQL 数据库,因此我需要 Node.jsMySQLNginx 这三个基本的 Docker 镜像,相关链接:

  • Docker Docker enables developers and IT admins to build, ship and run any application, anywhere.
  • ThinkJS The Web framework beyond your dreams, use the full ES6/7 features to develop Node.js applications.
  • FireKylin A Simple & Fast Node Blogging Platform Base On ThinkJS 2.0 & ReactJS & ES2015+.
$ cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core)

阅读全文 »