第七星尘

利用docker在服务器运行多个版本php

php7已经出来好一段时间了,众所周知它对性能的提升很大。现在假设我们有台比较老的服务器,系统是centos6,上面运行着一些老旧项目,其默认自带的php版本是5.3 。虽然说,我们可以升级到php7版本,但是,老旧不兼容php7,我们不能一刀切。最好的方式是php5.3和php7共存。所以,我们可以考虑利用docker来安装其他版本的php,既能保证环境独立,又极少造成性能损耗。下面以安装php7版本为例,介绍下具体做法。

Vue + Webpack项目利用CDN加载静态文件,减少打包后的代码体积

在使用Vue前端项目,比如说配合Element-ui框架使用时,由于加载比较多的静态资源文件,打包出来的js往往比较大,超过1M也不奇怪。
在传统的前端项目里,对于一些公用的js问题,比如说vue.min.js等,我们可以通过cdn加载,而不需要在我们业务层去引用,从而减少要加载的业务代码体积,有利于减轻我们服务器的压力。那么问题来了,Vue项目使用webpack打包时候,我们如何像传统方式那样加载公共CDN的静态资源文件呢?

在自己的服务器上一键搭建私人网盘,可离线下载BT等资源

最近开始有了搭建私有网盘的想法,主要是考虑到数据安全和私密。同时,会偶尔遇到资源难以下载的情形,于是便想着利用服务器来离线下载。虽然我现在使用命令行无障碍,但是如果是抱着长期管理文件/笔记的想法,那还是用一个可视化界面更方便。调研了一番,决定采用nextcloud作为文件管理主平台。同时安装周边软件实现离线下载。我现在已经将这个过程整理成了一个自动脚本。如果你是用linux服务器,执行下面两行命令即可自动安装

Linux自动监控文件目录变化并同步

有时候我们常需要当文件变化的时候便触发某些脚本操作,比如说有文件更新了就同步文件到远程机器。在实现这个操作上,主要用到两个工具,一个是rsync,一个是inotifywait 。inotifywait的作用是监控文件夹变化,rsync是用来同步,可同步到本机的其他目录或者远程服务器上。

php服务器把session放到redis中

默认情况下,执行php的服务器会把session保存在系统临时文件中。每次读取session,都会读取文件。当访问量大的时候,频繁地读取磁盘文件可能会增加IO压力,此时我们可以尝试把session放到redis中。此外,把session放到redis还有利于以后多服务器扩展的session共享问题。