xiaolingzi's blog

每天都在成长...

欢迎您:亲

linux下使用let's encrypt免费ssl通配符域名证书支持https

xiaolingzi 发表于 2018-03-28 10:19:05

之前写过一篇let's encrypt证书的文章,但已经过期了,所以就再更新一篇。大好的消息是,目前let's encrypt已经支持通配符域名证书,也就是只需要生成*.xxx.com证书,就可以给所有xxx.com和子域名使用了。还有就是,现在已经支持DNS验证的方式,也方便了很多了。生成证书的工具不少,这里我们主要介绍使用certbot工具通过DNS验证的方式来生成通配符域名证书。

由于docker的流行,目前certbot也提供的相应的docker,有普通docker,也有针对不同域名服务商的docker,这样也就更加便利了。docker地址如下:

https://hub.docker.com/u/certbot/

这里我们主要也是推荐使用docker的方式来进行,但运行容器需要先安装docker程序。关于docker的安装这里只是简单说一下centos下的安装,更详细的可以自行Google

阅读全文
  • 分类: Linux
  • 阅读: (661)
  • 评论: (0)

Centos7 Docker容器中开启systemd(systemctl)

xiaolingzi 发表于 2018-03-27 13:57:31

这段时间开始将部分服务放到容器来运行,主要还是使用centos7来作为基础镜像。自己的docker中服务在Dockerfile中主要还是通过yum来进行安装,所以在运行了之后想看看服务的状态,但当使用熟悉的systemctl命令来查看服务时,发现该命令不可用了。折腾了一会才把它弄了起来,所以就有了这篇文章来记录一下。

一、报错及原因

在执行systemctl命令的报错信息如下:

Failed to get D-Bus connection: Operation not permitted

原因分析:

通过查找资料得知,在最新的centos7的docker基础镜像中其实有包含systemd的,但默认是关闭的,所以只需要将其开启就可以。

阅读全文
  • 分类: docker
  • 阅读: (628)
  • 评论: (0)

PHP由mcrypt扩展加密改为openssl扩展加密

xiaolingzi 发表于 2018-03-14 13:26:08

一、背景

最近将php版本升级到php7.2, 升级过程发现由于php_mcrypt扩展太过于老旧已经被移除,建议使用php_openssl扩展来替代。我们的项目中有使用到php_mcrypt来进行AES加密,所以就开始用openssl的方式来替代原有的方式,在替代的过程中也发现不少问题。

二、原有php_mcrypt加密

原有的加密是使用AES进行对称加密,加密长度使用MCRYPT_RIJNDAEL_128,加密模式使用MCRYPT_MODE_CBC,密钥和向量都是使用16位字符串,然后默认padding是采用补零的的方式。

代码如下:

阅读全文
  • 分类: PHP
  • 阅读: (990)
  • 评论: (4)

PHP守护进程和多进程的实现

xiaolingzi 发表于 2017-07-20 09:27:00

PHP除了做web相关的功能之后,有时我们还需要使用它来处理一些后台任务。对于一些繁重的工作,单一的进程处理无法满足我们的需要,这时候我们就需要多线程或者多进程来处理。PHP默认不支持多线程,但有对应的扩展程序来实现。PHP多进程可以使用pcntl来实现。今天这里我们主要来讲讲在cli模式下,PHP多进程、守护进程的使用,而且只是在linux下运行。

一、多进程

多进程可以通过pcntl_fork来实现,具体看一下代码:

阅读全文
  • 分类: PHP
  • 阅读: (976)
  • 评论: (1)

RabbitMQ的PHP扩展安装

xiaolingzi 发表于 2017-07-18 17:39:46

我们安装完的RabbitMQ的服务端之后,如果我们想要调用还得安装RabbitMQ的客户端(rabbitmq-c),所以PHP扩展安装前需要先安装RabbitMQ客户端。

一、安装RabbitMQ客户端(rabbitmq-c)

客户端地址如下:

https://github.com/alanxz/rabbitmq-c/releases

下载最新版本就好。

阅读全文
  • 分类: PHP
  • 阅读: (1031)
  • 评论: (0)

RabbitMQ在Centos上的安装和简单配置

xiaolingzi 发表于 2017-07-11 10:33:57

RabbitMQ需要erlang环境支持,所以安装主要包含两大块:Erlang环境安装和RabbitMQ自身的安装。

一、安装最新版Erlang

Erlang安装包下载地址及官方安装教程:

https://www.erlang-solutions.com/resources/download.html

刚开始采用下载Erlang RPM安装包然后使用rpm命令进行安装的方式进行安装,但安装过程中会遇到各种依赖和冲突的问题。所以为了更省事,这里推荐配置yum源进行安装。

在/etc/yum.repos.d文件夹中添加erlang.repo文件,并添加以下内容:

阅读全文
  • 分类: Linux
  • 阅读: (883)
  • 评论: (0)

PHP使用thrift实现RPC服务(服务端和客户端)

xiaolingzi 发表于 2017-06-21 15:04:53

一、简单说明

1.RPC服务是什么

RPC全称是Remote Procedure Call Protocol,即远程过程调用。他跟Web Service有类似的地方,但又有所不同。具体可以百度两种区别。这里不做深入讨论。

2.为什么选择thrift

thrift支持多语言,而且服务端和客户端也可以使用不同的语言,比较方便。其次它是Facebook开发,后交由Apache打理,也比较可靠。当然如果只是针对php还可以考虑yar、workerman-thrift-rpc或者swoole。


二、软件安装

软件的安装可以直接看官网的介绍。地址如下:

http://thrift.apache.org/docs/install/

碰到的问题这里简单说明一下,以centos为例。里面有些软件的安装有最低版本要求,安装的时候需要注意,但官方文档里面说到的软件版本不一定是当前最新的版本,大家可以去对应软件官网下载最新版本。

阅读全文
  • 分类: PHP
  • 阅读: (2164)
  • 评论: (0)

使用xtrabackup(innobackupex)备份还原mysql数据库

xiaolingzi 发表于 2017-05-31 17:53:27

一、背景

随着数据库数据的不断增长,通过mysqldump进行完整备份的时间越来越长。所以当数据库的数据量比较大时就需要把完全备份改为增量备份。

增量备份的方法有很多,比如基于mysql自带的binlog日志进行增量备份。这里我们主要是讲如何通过xtrabackup来进行备份。


二、软件安装

软件的安装官网有相应的教程,可以直接到官网查看,地址如下:

https://www.percona.com/downloads/XtraBackup/LATEST 

阅读全文
  • 分类: mysql
  • 阅读: (1233)
  • 评论: (0)

Python ORM框架lingorm介绍及使用文档

xiaolingzi 发表于 2017-03-28 14:04:57

lingorm是使用python3编写的ORM框架,支持插入修改删除等基本ORM功能,也支持一般复杂的查询(比如复杂条件下的联表查询)。除此,也支持原生sql查询以应对更加复杂的情况。


一、框架的引入

下载代码,切换到代码根目录,运行 python setup.py install 即可进行安装。

GitHub地址:https://github.com/xiaolingzi/python-orm-lingorm

阅读全文
  • 分类: Python
  • 阅读: (750)
  • 评论: (0)

PHP ORM框架LingORM介绍及使用文档

xiaolingzi 发表于 2017-03-15 15:55:51

LingORM是为php编写的ORM框架,支持插入修改删除等基本ORM功能,也支持一般复杂的查询(比如复杂条件下的联表查询)。除此,也支持原生sql查询以应对更加复杂的情况。


一、框架的引入

框架采用了命名空间和类自动加载,所以框架的引入也比较简单,如果项目中已有自动加载类文件,在自动加载类文件中引用框架的自动加载类即可,框架的自动加载类在AutoLoader目录下的AutoLoader.php文件。如果没有自动加载类的需要在入口执行文件的头部引入该文件即可。

GitHub地址:https://github.com/xiaolingzi/PHP-ORM-LingORM

阅读全文
  • 分类: PHP
  • 阅读: (2383)
  • 评论: (0)
共104条记录12345...11上一页下一页