Author: foam

117 篇文章

根据pid查找进程所在的执行文件
查看执行进程的文件 sudo ls -l /proc/<pid>/exe 例如,可以看到node这个可执行程序的绝对路径 root@iZ94qht95zsZ ~# ps -ef | grep node root 17078 16750 88 16:47 pts/0 00:00:00 node index.js root@iZ94qht9…
编译安装php7.3
最近在一台CentOS6.2的机器上部署php7.3,系统有点旧,稍微折腾点。 安装需要的依赖 sudo yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libjpeg libpng freetype libjpeg-devel libpng-dev…
编译protobuf.so扩展
在官网下载适合php版本的包。pecl官网 解压 tar zxvf protobuf.tar.gz cd到目录并用phpize生成configure文件 cd protobuf-3.7.1/(如果是从github下载的,则cd到protobuf-3.7.1/php/ext/google/protobuf) phpize 编译三板斧 ./config…
用lockf保证同一时间只有一个进程运行
安装 参见github 使用场景 保证同一时间只有一个进程运行。 例如 crontab 设定每分钟跑一次 1.php ,但如果超过1分钟该脚本还没执行完,就会出现多个php脚本同时运行的情况,在某些场景下可能会有问题。 为了满足上述需求,我们可能会在脚本里添加一段代码,创建锁,执行完后删除锁,若锁文件存在则直接return。 还有另一种解决方案就是…
在mac安装nginx模块
今天有需求需要用到nginx的stream模块,但mac已经安装的nginx默认是不带该扩展的。 我选择了重新安装nginx。 brew tap denji/nginx brew install nginx-full --with-stream #如果已经是最新版本,则会提示nginx版本已安装,可选择重新安装 brew reinstall ngi…
给你的Mac/Linux的rm装一个回收站
作为程序员,在工作中经常用到rm。我在不久前用vscode写代码,在底下的终端里想删掉没用的文件,手抖把未提交到git的代码文件删了。还好代码量不多,否则会崩溃。毕竟重写代码是很痛苦的~ 因此本文标题提上了日程 选择一款安全的删除脚本 Github看到一个脚本满足需求。 github地址,里边有多种安装方式。我选择的是npm全局安装。 npm i …
HTTPS原理解析
HTTP是什么 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是互联网上应用最为广泛的一种网络协议。是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 为了方便通信就必须统一约定好双方的数据协议,如果每个人都搞一套…
排查elasticsearch的cpu居高不下,查询慢的问题
背景 近来es查询很慢,kibana的discover界面偶尔还会因为查询请求超时而无法显示数据。/_cat/indices?v 等对es的查询也慢的出奇,需要1、2分钟才返回结果。 排查 top命令看了es的java进程,发现cpu一直很高,130%左右,一直没有下降过。查看es的日志,发现gc.log中几乎每秒都要触发一次GC Full GC …
mac卸载和安装java指定版本
2020-04-02更新: 之前的安装方法已经废弃了,可通过以下方式安装 brew tap AdoptOpenJDK/openjdk brew cask install <version> 这里有全部的version列表 例如可以这么安装 brew cask install adoptopenjdk8     之前用…
在挂着VPN的虚拟机搭建代理服务
背景 公司有台机器需要用VPN访问,资源包括ssh和web页面。在物理机上开VPN能够访问该内网资源,但会影响公网的访问效率和一些资源(毕竟通过VPN绕了一圈内网再回来)。很自然想到用虚拟机挂VPN,需要访问内网资源的时候到虚拟机上去解决。尽管我使用mac,触摸板划一下就能无缝切换虚拟机窗口,但多了个操作系统环境还是有些不方便。毕竟我想在同一个浏览…