解决WordPress耗尽可允许分配内存的问题

最近想要在博客中增加 Google AdSense,安装了 WordPress 插件,打开博客管理后台时,一直加载不出来。以为开了代理的问题,关掉代理,发现依然打不开。猜想可能是安装的插件有问题,导致加载失败。登录到服务器,查看 nginx 的日志。

在 nginx 的 error.log 发现了如下信息 FastCGI sent in stderr: “PHP message: PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 32768 bytes) 。

继续阅读

Mac OSX之Catalina 10.15中编译OpenJDK8

如果想深入学习JDK 内部的实现机制,最便捷的路径是自己手动编译一套JDK,通过阅读和跟踪debug JDK源码去深入了解Java技术体系的原理,结合各类书籍、文章和博客,对比理解,更容易让你了解JDK是怎么运作的,底层都做了什么。

本文基于目前最新的Mac操作系统Catalina 10.15.1 编译OpenJDK8,编译过程中遇到很多新问题,做个总结,为后来者提供方便。

继续阅读

多SSH KEY切换部署同步代码

一般情况下,我们会单独生成一个ssh-key公钥用于备份数据,而不是和其他公钥混合使用,避免因为因为某些操作不安全,造成代码丢失。当然你也可以选择一个其他账户操作也是可以的,但如果选择其他账户了,也就没有这篇文章的存在了。还是回到多个私钥的问题上,默认情况下,RSA算法的 ssh 私钥文件名为 id_rsa,我们可以通过ssh-keygen生成 ssh key 的时候可以指定其名称。

当有多个SSH KEY存在的时候,如何指定某个ssh读取某个私钥呢?本文就提供一个解决方案。

继续阅读

MacOS编译NGINX1.17

使用Mac的开发者大多数的时候通过 brew 命令安装各类软件,比如 PHP、Python、Nodejs,Nginx 也不例外。

默认情况下Nginx安装在/usr/local/Cellar/nginx,通过brew link nginx加软连接到/usr/local/bin/nginx,虽然这样完全满足开发且符合 Mac 软件的管理,但是却不方便移植(比如想给不懂开发的用户一键部署部署的应用包,做私有化部署的同学应该对此不陌生)。

从源码编译 NGINX 程序比安装预编译的安装包要灵活很多,可以添加特定的模块(来自NGINX官方或者第三方的,比如给 Fastdfs 提供 HTTP 访问文件能力的 fastdfs-nginx 模块),当然自己编译源码拉取的可以是已修复 bug 和新增特性的最新分支。

继续阅读

git未跟踪文件通过合并覆盖错误的解决方法

在开发标注平台系统的时候,项目原同事将dubbo的注册缓存通过配置项的方式将其放在项目根目录,在 IDEA 中运行项目,每次都会生成该文件,导致项目目录有点乱,于是将其改变,放在当前用户目录的.dubbo-registry目录,且隐藏起来,减少人为操作引起的 RPC 调用问题。

经过这么已改造,保存项目并提交到 git 仓库,其他同事拉取项目之后,提交时出现如下错误:

error: The following untracked working tree files would be overwritten by merge:
~/.dubbo-registry/data-web-registry.properties
~/.dubbo-registry/data-web-registry.properties.lock
Please move or remove them before you merge.
Aborting

继续阅读

shell多进程执行任务

管道就像水管,有流入才会有流出,水管数水流的通道,管道是数据的通道。管道分为无名管道和有名管道。

无名管道:常用的|就是管道,只不过是无名的,可以直接作为两个进程的数据通道,比如:cat file.txt | grep test

有名管道:mkfilo 可以创建一个管道文件,比如:mkfiflo testfifo

管道有一个特点,如果管道中没有数据,那么取管道数据的操作就会阻塞,直到管道内进入数据,然后读出后才会终止这一操作,同理,写入管道的操作如果没有读取操作,这一个动作也会阻塞。

继续阅读

SVN冲突解决方法

在ubuntu中,使用svn控制代码版本(其实个人喜欢GIT的,但是team使用的svn),出现冲突问题,做程序员就得上刀山下火海,不怕问题来找你,所以,本着职业的精神,好吧,解决吧。

第一次使用markdown写博客,写的时间有点久,语法不熟悉,看着语法手册一步一步创建的,大家凑合着看吧。

继续阅读