php-fpm max_children 优化调整

很久没有更新过博客了,最近将逐渐开更

今天记录下我如何调整服务器 php-fpm 的 max_children

 ps -ylef --sort:rss

此命令可以查看当前服务器所有的进程以及占用内存,留意 RSS 那列就是占用的内存数。

微信截图_20190519230845.png

当做平均一个进程 50MB

我的机器是8G,预留个1G,那大概数量就是 (8-1) * 1024 / 50 = 143

很久没有更新过博客了,最近将逐渐开更

今天记录下我如何调整服务器 php-fpm 的 max_children

 ps -ylef --sort:rss

此命令可以查看当前服务器所有的进程以及占用内存,留意 RSS 那列就是占用的内存数。

微信截图_20190519230845.png

当做平均一个进程 50MB

我的机器是8G,预留个1G,那大概数量就是 (8-1) * 1024 / 50 = 143

Malformed UTF-8 characters, possibly incorrectly encoded

开机后打算继续给项目做压测,发现接口返回了 Malformed UTF-8 characters, possibly incorrectly encoded,一脸懵逼后发现原来 MySQL 没开,Mark 一下

开机后打算继续给项目做压测,发现接口返回了 Malformed UTF-8 characters, possibly incorrectly encoded,一脸懵逼后发现原来 MySQL 没开,Mark 一下

nginx + php-fpm 502

这个低级问题没想到我还是掉进去了,没想到是一个参数问题

listen.allowed_clients = 127.0.0.1

把 /etc/php/7.2/fpm/pool.d/www.conf 中这行接触注释就好了

为啥突然出现原因不详,先mark

这个低级问题没想到我还是掉进去了,没想到是一个参数问题

listen.allowed_clients = 127.0.0.1

把 /etc/php/7.2/fpm/pool.d/www.conf 中这行接触注释就好了

为啥突然出现原因不详,先mark

关于友链漏洞

疏于管理,也很久没看博客,现在看到留言区有两位热心网友对友链漏洞进行了提醒

其实早在9月份就有网友对本站进行测试与提醒了

在这里很感谢各位,也对长期的懒惰没更新博客非常不好意思(但暂时不改,太忙了 T_T)

疏于管理,也很久没看博客,现在看到留言区有两位热心网友对友链漏洞进行了提醒

其实早在9月份就有网友对本站进行测试与提醒了

在这里很感谢各位,也对长期的懒惰没更新博客非常不好意思(但暂时不改,太忙了 T_T)

Laravel 图床与颜值检测结晶

前要

本人曾经发过这样两个帖子

检测颜值包,基于微软小冰 以及 用 Laravel 写了一个图床网站

项目

HanSon/faceHanSon/img

如今终于两个项目结合在一起了 体验传送门

效果图

穿衣风格效果图(会在新窗口弹出,记得在浏览器允许):

file

file

file

file

file

小结

因为微软小冰曾经做过一次升级,导致 SDK 暂时不可用,今天也花了点时间修复并且结合在图床中,图床代码大家看看就好,没有过多的优化。

图床有很多不足,只是一个 demo 级别的项目,例如图片大小都没有控制,仅仅娱乐,大家不要玩坏了。

前要

本人曾经发过这样两个帖子

检测颜值包,基于微软小冰 以及 用 Laravel 写了一个图床网站

项目

HanSon/faceHanSon/img

如今终于两个项目结合在一起了 体验传送门

效果图

穿衣风格效果图(会在新窗口弹出,记得在浏览器允许):

file

file

file

file

file

小结

因为微软小冰曾经做过一次升级,导致 SDK 暂时不可用,今天也花了点时间修复并且结合在图床中,图床代码大家看看就好,没有过多的优化。

图床有很多不足,只是一个 demo 级别的项目,例如图片大小都没有控制,仅仅娱乐,大家不要玩坏了。

php 相关 linux 命令

查找 php.ini 路径
php -i | grep "Loaded Configuration File"

查找 php.ini 路径
php -i | grep "Loaded Configuration File"

微信机器人 Vbot 2.0

Github: https://github.com/HanSon/vbot
文档: http://create.hanc.cc/vbot (为了保护大家的眼睛,还故意去做了个看似高大上的官网)

Vbot 是什么?

Vbot 是一个基于 web 的 php 7 微信机器人。你还可以通过开启 Swoole 去搭建自己的微信网页端。

Vbot 能做什么?

具体的例子可参考以前的帖子: https://laravel-china.org/articles/4146/personal-micro-signal-group-control-robot

2.0 的亮点

  • 稳定执行(对 API 异常进行捕捉忽略)
  • 通过 Swoole 支持 Web API
  • 丰富的监听器,能够在程序各个阶段做好各自的自定义处理
  • 代码重构,结构更加优雅

Vbot Vs Other

大家选择 Vbot 最主要的原因是 Vbot 基于 PHP 开发,这让以前写微信机器人的 PHPer 不用再去接触 Python 的版本。对比其他版本的微信机器人来说,Vbot 无疑是最全面的微信机器人,从杂乱无章的 XML 中帮大家分好了多种消息类型。也加了多种监听器方便去实现自定义的功能。
file

感谢大家

在版本 1 发布截至至今已经 5 个月了,期间 Vbot 得到大家的大力支持, 1k 多 star 以及 1k 多的打赏金额,以及 优帆远扬 和 鸟哥的特殊支持。

file

说在最后

很高兴 Vbot 能够成为我的成名作,始于 Vbot,不终于 Vbot,世界那么大,我要继续撸。我还会继续去撸更加多的开源项目,希望大家多多支持。

历史贴:
PHP7 版本的微信机器人来了!
个人微信号群管理机器人

Github: https://github.com/HanSon/vbot
文档: http://create.hanc.cc/vbot (为了保护大家的眼睛,还故意去做了个看似高大上的官网)

Vbot 是什么?

Vbot 是一个基于 web 的 php 7 微信机器人。你还可以通过开启 Swoole 去搭建自己的微信网页端。

Vbot 能做什么?

具体的例子可参考以前的帖子: https://laravel-china.org/articles/4146/personal-micro-signal-group-control-robot

2.0 的亮点

  • 稳定执行(对 API 异常进行捕捉忽略)
  • 通过 Swoole 支持 Web API
  • 丰富的监听器,能够在程序各个阶段做好各自的自定义处理
  • 代码重构,结构更加优雅

Vbot Vs Other

大家选择 Vbot 最主要的原因是 Vbot 基于 PHP 开发,这让以前写微信机器人的 PHPer 不用再去接触 Python 的版本。对比其他版本的微信机器人来说,Vbot 无疑是最全面的微信机器人,从杂乱无章的 XML 中帮大家分好了多种消息类型。也加了多种监听器方便去实现自定义的功能。
file

感谢大家

在版本 1 发布截至至今已经 5 个月了,期间 Vbot 得到大家的大力支持, 1k 多 star 以及 1k 多的打赏金额,以及 优帆远扬 和 鸟哥的特殊支持。

file

说在最后

很高兴 Vbot 能够成为我的成名作,始于 Vbot,不终于 Vbot,世界那么大,我要继续撸。我还会继续去撸更加多的开源项目,希望大家多多支持。

历史贴:
PHP7 版本的微信机器人来了!
个人微信号群管理机器人

git submodule 笔记

这次不造轮子,写写文章。file

最近想把自己的 blog 整理到 github 上,但由于其中依赖了一些主题以及插件,这时候 git submodule 就能很好的处理这种情况了。

submodule 是什么?

submodule 顾名思义,子模块。在一个项目依赖其他 git 上的模块时就很有用处了。

以我自己这次修改做例子:
我的 typecho 博客 依赖了 主题 typecho_material_theme插件 Links_for_Material_Theme

那写下来就写写整个过程。

冻手不?冻手file

准备

动手

开始增加子模块(最后为路径)

cd typecho
git submodule add git@github.com:HanSon/typecho_material_theme.git usr/theme/typecho_material_theme
git submodule add git@github.com:HanSon/Links_for_Material_Theme.git usr/theme/Links

这时候应该能看到开始对两个库 clone 中,查看一下 git status , 应该能看到修改的有多了两个库,以及 .gitmodules 的修改

git status

然后我们来提交到 github 中

git commit -am "增加子模块"
git push origin master

这时就已经成功提交到 github 上了,我们来看看 github 上是如何显示 submodule 的

file

可以看到多了两个不一样的图标,点击自动跳转去该仓库的地址(@ 后面代表的是 commit id)

来 pull

git clone https://github.com/HanSon/my-blog.git
cd my-blog

pull 完发现只剩下文件夹,submodule 并没有内容,需要先初始化 submodule 并且 update

git submodule init
git submodule update

这时候就发现 submodule 的内容已经 pull 下来了!

如果更新了 submodule , project 应该如何跟着更新?

  • 按需更新。 去到相对应的 submodule 目录执行 git pull origin master 即可。
  • 简单粗暴,全部更新。git submodule foreach git pull origin master

这次给我的博客加上了播放哈林摇的功能 http://hanc.cc

file

你还可以把上图的 Let's party 拖到书签栏,然后访问你想要摇的网站,点击刚保存的书签进行摇一下。file

PS:上面所述为实操后凭记忆记下来的,如有遗漏欢迎补充
file

这次不造轮子,写写文章。file

最近想把自己的 blog 整理到 github 上,但由于其中依赖了一些主题以及插件,这时候 git submodule 就能很好的处理这种情况了。

submodule 是什么?

submodule 顾名思义,子模块。在一个项目依赖其他 git 上的模块时就很有用处了。

以我自己这次修改做例子:
我的 typecho 博客 依赖了 主题 typecho_material_theme插件 Links_for_Material_Theme

那写下来就写写整个过程。

冻手不?冻手file

准备

动手

开始增加子模块(最后为路径)

cd typecho
git submodule add git@github.com:HanSon/typecho_material_theme.git usr/theme/typecho_material_theme
git submodule add git@github.com:HanSon/Links_for_Material_Theme.git usr/theme/Links

这时候应该能看到开始对两个库 clone 中,查看一下 git status , 应该能看到修改的有多了两个库,以及 .gitmodules 的修改

git status

然后我们来提交到 github 中

git commit -am "增加子模块"
git push origin master

这时就已经成功提交到 github 上了,我们来看看 github 上是如何显示 submodule 的

file

可以看到多了两个不一样的图标,点击自动跳转去该仓库的地址(@ 后面代表的是 commit id)

来 pull

git clone https://github.com/HanSon/my-blog.git
cd my-blog

pull 完发现只剩下文件夹,submodule 并没有内容,需要先初始化 submodule 并且 update

git submodule init
git submodule update

这时候就发现 submodule 的内容已经 pull 下来了!

如果更新了 submodule , project 应该如何跟着更新?

  • 按需更新。 去到相对应的 submodule 目录执行 git pull origin master 即可。
  • 简单粗暴,全部更新。git submodule foreach git pull origin master

这次给我的博客加上了播放哈林摇的功能 http://hanc.cc

file

你还可以把上图的 Let's party 拖到书签栏,然后访问你想要摇的网站,点击刚保存的书签进行摇一下。file

PS:上面所述为实操后凭记忆记下来的,如有遗漏欢迎补充
file

cannot open .git/FETCH_HEAD: Permission denied 解决方式

这是因为当初的姿势不正确,导致 .git 文件夹为root用户所属

改回来即可

sudo chown -R $(whoami):admin .git

这是因为当初的姿势不正确,导致 .git 文件夹为root用户所属

改回来即可

sudo chown -R $(whoami):admin .git

检测颜值包,基于微软小冰

最近的对比发现微软小冰的颜值检测比较科学,而且还真能识别到一些名人,感觉不错,便做成了一个包

项目地址:https://github.com/HanSon/face

抓包地址:http://kan.msxiaobing.com

例如其中一个效果

file

这个包提供了5个检测的方式

  • 颜值
  • 最受欢迎
  • 买单
  • 穿衣风格
  • 关系

由于原链接有一些是通过 JS 生成的一些标签,所以要显示到图片上还是有点难度,不排除以后实现或不实现。

BTW, 之后会把这个颜值检测加到我的图床上面去 http://img.hanc.cc

最近的对比发现微软小冰的颜值检测比较科学,而且还真能识别到一些名人,感觉不错,便做成了一个包

项目地址:https://github.com/HanSon/face

抓包地址:http://kan.msxiaobing.com

例如其中一个效果

file

这个包提供了5个检测的方式

  • 颜值
  • 最受欢迎
  • 买单
  • 穿衣风格
  • 关系

由于原链接有一些是通过 JS 生成的一些标签,所以要显示到图片上还是有点难度,不排除以后实现或不实现。

BTW, 之后会把这个颜值检测加到我的图床上面去 http://img.hanc.cc