netstat 命令统计 tcp 各状态数量
Nginx 报错和解决方法记录
记录一下遇到的各种 Nginx 的报错和解决办法。
13: Permission denied
Nginx错误:
2017/04/19 14:46:46 [crit] 4172#0: *671 open() “/data/vhosts/xunlei.com/test/” failed (13: Permission denied), client: 192.168.35.54, server: www.test.com, request: “GET / HTTP/1.1”, host: “www.test.com”
经查权限问题导致,网站目录是 root 用户组,而 nginx 是运行的 nobody 用户进程,修改网站目录为 nobody 用户组。
韩天峰:2017 年 PHP 程序员未来路在何方
PHP 从诞生到现在已经有20多年历史,从Web时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js 、 GO 、 Python 不断地在挑战 PHP 的地位。这些技术的推动者非常热衷于唱衰 PHP , PHP 语言的未来在哪里?PHP 程序员当如何应对未来的变革?
VirtualBox启动蓝屏问题
登录重放攻击及安全防御
MySQL 大表加字段思路
给 MySQL 一张表加字段执行如下 sql 就可以了:
ALTER TABLE tbl_tpl ADD title(255) DEFAULT ’’ COMMENT ‘标题’ AFTER id;
但是线上的一张表如果数据量很大呢,执行加字段操作就会锁表,这个过程可能需要很长时间甚至导致服务崩溃,那么这样操作就很有风险了。
Linux 中 /var/spool/postfix/maildrop 占用空间很大的原因
MySQL 报错 Exception Message:SQLSTATE[08004][1040]Too many connections,经查这次错误是硬盘空间满了导致的,于是找一些可以删除的文件腾出一些空间。
使用 Supervisor 管理 Laravel 队列进程
Supervisor 是一个 Python 写的进程管理工具,有时一个进程需要在后台运行,并且意外挂掉后能够自动重启,就需要这么一个管理进程的工具。在 Laravel 开发中,也经常使用到队列监听,可以配合 Supervisor 来管理 Laravel 队列进程。
Laravel 5.3 后台管理系统搭建
网上的很多基于 Laravel 的后台管理系统,要么缺少基本的功能,要么太臃肿,总是找不到自己喜欢的,于是自己做了一个。它的特点是尽可能简单又不缺少基本的后台功能,如用户认证,基于角色的权限系统(Entrust),菜单管理,媒体管理等,并且使用 AdminLte 后台界面,外观简洁功能强大。
使用 Nginx 反向代理和负载均衡搭建多人测试环境
假如我们使用 git 进行版本控制,在一个大型网站中,开发人员在不同的分支上开发不同的需求,当一个需求开发完成需要测试,我们会把这个分支告诉测试人员,然后测试人员在测试机的网站目录拉取这个分支进行测试。
阅读与心智的成长
以下摘自《如何阅读一本书》第二十一章。
我们已经完成了在本书一开始时就提出的内容大要。我们已经说明清楚,良好的阅读基础在于主动的阅读。阅读时越主动,就读得越好。
**所谓主动的阅读,也就是能提出问题来。**我们也指出在阅读任何一本书时该提出什么样的问题,以及不同种类的书必须怎样以不同的方式回答这些问题。
Laravel 使用 env 读取环境变量为 null 的问题
不知道大家有没有遇到过,在 Laravel 中(除 app/config 目录下的配置文件中)使用 env 函数读取环境变量,有时有用,有时返回 null,究竟怎么回事?让我们一探究竟。
在 Laravel 项目中,如果执行了 php artisan config:cache 命令把配置文件缓存起来后,在 Tinker 中(Tinker 是 Laravel 自带的一个交互式命令行界面),使用 env 函数读取环境变量的值为 null,只有执行 php artisan config:clear 清除配置缓存后就可以读取了,这是为什么呢?
PHP捕捉异常中断
当 PHP 程序出现异常情况,如出现致命错误,超时,或者不可知的逻辑错误导致程序中断,这个时候可以用 register_shutdown_function 进行异常处理。
vim 常用操作
vim 在 Linux 下使用很多,但是习惯了在 Windows 下的文本操作,在 vim 中进行文本操作会觉得很不方便,但是 vim 是一个很强大的工具,只是还不熟练去使用它,下面是一些常用的 vim 文本操作方法。