作者归档:杨龙
启用 opcache.enable_cli 也需要小心
opcache.enable_cli + xdebug + swoole 可能会导致“段错误”(Segmentation fault)
慎用Nginx限流功能,不要一直开着nginx限流
nginx限流可能会导致客户访问感知到变慢,所以在怕爬虫或攻击停止的时候应该关闭限流!
限流的阈值、突发速率之类的需要尽量大点,大概峰值的几倍这样,防止正常用户被迫全局限流。
$realpath_root 和 $document_root 区别
Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation
root@% 无法修改 root@localhost 密码
解决办法:(自己给自己授权)
grant system_user on *.* to 'root';
https://blog.csdn.net/weixin_42330311/article/details/104728396
ln -s 两次无限递归问题:给目录创建两次软链接会出现无限递归
例如:
ln -s /var/www/php/ /mnt/www/blog
# 第一次会创建出“/mnt/www/blog -> /var/www/php/” 这个软链接
ln -s /var/www/php/ /mnt/www/blog
# 第二次会创建出“/var/www/php/php -> /var/www/php/” 这个软链接
# 第三次会提示 File exists
解决办法:(创建前判断下目标是否存在即可)
[ ! -e /mnt/www/blog ] && ln -s /var/www/php /mnt/www/blog
DbMySQLQuery.resultFieldStringValueByName(): MySQL_ResultSet::isNull: invalid value of ‘columnLabel’
The proposed solution “[3 Feb 16:10] Adam Latchem” worked for me, in the context of MySQL Workbench connecting to a MariaDB database. The fix (for definiteness) is to edit the file C:\Program Files\MySQL\MySQL Workbench 8.0 CE\modules\wb_admin_connections.py at line 346, to change it from
("DB", mforms.StringColumnType, "DB", 100),
to
("db", mforms.StringColumnType, "DB", 100),
(note change of case in first argument).
performance_schema = off
MySQL 8 关闭 performance_schema = off,可以瞬间节省200~300M左右内存
nginx: worker process is shutting down
nginx: worker process is shutting down,这个是nginx reload后可能会出现的,应该是继续处理未结束线程用的。
如果你的超时相关配置设置了很长时间,那么这个线程也会存在很长时间。
关于`a client request body is buffered to a temporary file /var/cache/nginx/client_temp/…`的问题
很多教程是改`client_body_buffer_size
`我觉得这样不太好,因为:
- 非常吃内存
- 不符合流式传输,无法立即刷送
另外一种解决方案是:(关闭缓冲即可)
fastcgi_buffering off;
fastcgi_request_buffering off;