原创经验:解决1G小内存主机由于php-fpm爆满导致的服务不可用问题

Posted Posted in Web, 经验, 菜鸟, 运维

AndyX:首先咱买的是华为云小主机,最便宜的那种,所以默认内存只有1GB。其次,由于最近AndyX.Net博客访问量日趋增大(也有部分是来自于搜索引擎的爬虫),网站系统虽然做了缓存优化,但也可能遇到了某些扫描器在使用xmlrpc.php漏洞探测账号。结果就导致了华为云监控疯狂提示网站短暂不可用的状况出现。

本教程来源于实际情况,本次php-fpm参数优化适用于1GB内存的入门型主机。

若遇到了针对xmlrpc.php的暴力破解,可能也会引发此问题,解决方法请参见本站文章《记一次WordPress优化xmlrpc.php防止暴力破解登陆过程》

若遇到数据库Mysql/Ma ….[阅读全文]

Nginx启用socket后端连接方式优化php-fpm性能

Posted Posted in Web, 入门, 菜鸟, 运维

通常Nginx连接fastcgi的方式有2种:TCP和unix domain socket

什么是Unix domain socket?—— 维基百科
Unix domain socket 或者 IPC socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。与管道相比,Unix domain sockets 既可以使用字节流和数据队列,而管道通信则只能通过字节流。Unix domain sockets的接口和Internet socket很像,但它不使用网络底层协议来通信。Unix domain socket 的功能是POSIX操作系统里的一种组件。

Unix do ….[阅读全文]

php-fpm参数调优方案(原文PHP-FPM on highload tips)

Posted Posted in Web, 经验, 菜鸟, 运维

php-fpm进程设置多少合适,设成动态还是静态?VPS/云主机只有1GB内存,网站运行经常卡机怎么办?

下面是摘自Google讨论话题的翻译内容:《 PHP-FPM on highload tips

When you running a highload website with PHP-FPM via FastCGI, the following tips may be useful to you

如果你的高负载网站使用PHP-FPM管理FastCGI,也许下面这些技巧对你有用

1. Compile PHP’s modules as less as possible, the simple the best (fast);

尽量少安装PHP模块,最简单是最好(快)的

2. Increas PHP FastCGI child number to 100 and even more. Sometime, 200 is OK! ( On 4GB memory server);

把你的PHP FastCGI子进程数调到100或以上,在4G内存的服务器上200就可以(建议压力测试来得出自己服务器合理的值) ….[阅读全文]

服务器优化调参之解决php-fpm占用内存过大以及不释放内存问题

Posted Posted in Web, 笔记, 菜鸟, 运维

**本文同样适用于1G内存小型VPS的用参考户**

最近发现博客的内存老是隔三差五地被“吃掉”了,登录到后台后偶尔会出卡顿的情况,一开始怀疑是Swap不够导致的,于是给VPS主机增加了几个G的Swap,观察了一段时间后发现再大的Swap也被慢慢地“吃掉”了!

很显然是PHP某些服务一直在占用着VPS的内存没有释放,导致物理内存耗尽后调用了Swap,显然Swap没有物理内存运行的效率高,于是就出现了进程卡死的情况了。考虑到挖站否现在用的Wordpress用的主题与插件过多,出现这样的情况也是正常。

….[阅读全文]