macOS 10.11+ SIP(rootless) 问题

macOS 10.11 开始加入了 System Integrity Protection,也就是 rootless 保护机制,使得很多系统目录无法进行修改,root 权限也进行了限制。但我们有些时候需要处理一些文件或软件,比如删除系统自带的 Apache、PHP 等,那我们需要临时关闭 SIP 机制。

解决办法

重启系统,按住Command + R,进入恢复模式,打开 Terminal 终端执行命令:

csrutil disable # 关闭SIP csrutil enable # 开启SIP

PHP 随机合并数组并保持原排序

场景

原有帖子列表 A,现需在A中推广新业务 B,则需要在 A 列表中 1:1 混合 B 的数据,随机混合,但需保持 A 和 B 两列表原来的数据排序。具体参考下面示例的效果。

原理

  • 获知总共元素数量 N;
  • for 循环 N 次,取随机数;
  • 根据随机数依次从头获取 A 或 B 的值,推入新数组中;

Linux 命令 —— iostat I/O 和 CPU 监视工具

iostat 用于监控统计系统输入输出设备和 CPU 的使用情况,英文 I/O statistics 的缩写。

它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU 使用情况。同 vmstat 一样,iostat 也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat 属于 sysstat 软件包,所以使用前需先安装 sysstat

命令格式

1
iostat [参数] [间隔时间] [报告次数]
  • 间隔时间:每次报告的间隔时间(秒)
  • 报告次数:显示报告的次数

Nginx 设置未绑定域名禁止访问

默认情况下,Nginx 允许直接以 IP 的方式就能直接访问到网站,或者通过未设置的域名访问(比如有人把他自己的域名指向了你的服务器 IP)。这样容易暴露一些服务器上的网站,那么我们怎么设置 Nginx 禁止这些行为呢?

1
2
3
4
5
server {
    listen 80 default_server;
    server_name _;
    return 404;
}