Homebrew 设置为阿里源

brew 源极慢,有必要把 Homebrew 源改为成国内源。

Homebrew 源主要有四个部分组成:

名称 说明
brew Homebrew 源代码仓库
homebrew-core Homebrew 核心软件仓库
homebrew-bottles Homebrew 预编译二进制软件包
homebrew-cask 提供 macOS 应用和大型二进制文件

安装 brew

如果还没安装 homebrew,则需要先安装。

用官网推荐安装方式:

1
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

如果安装很慢,可使用清华源安装

1
2
3
git clone --depth=1 https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/install.git brew-install
/bin/bash brew-install/install.sh
rm -rf brew-install

查看当前源

1
2
3
4
5
6
7
8
9
$ cd "$(brew --repo)" && git remote -v
origin https://github.com/Homebrew/brew.git (fetch)
origin https://github.com/Homebrew/brew.git (push)

# 查看 homebrew-core.git 当前源
$ cd "$(brew --repo homebrew/core)" && git remote -v
origin https://github.com/Homebrew/homebrew-core.git (fetch)
origin https://github.com/Homebrew/homebrew-core.git (push)

改为阿里源

阅读更多

Docker 使用实例(部署 LNMP)

docker 参数说明

  • run 运行镜像,将创建容器
  • exec 运行容器(交互式)
  • start/stop/restart 启动/停止/重启容器
  • ps 查看运行中的容器
  • ps -a 查看全部容器
  • -d, –detach 在后台运行容器,并且打印容器id。
  • -i, –interactive 即使没有连接,也要保持标准输入保持打开状态,一般与 -t 连用。
  • -t, –tty 分配一个伪tty,一般与 -i 连用。

docker run 参数说明

更多参数说明见官网

  • -v 宿主机文件夹:容器文件夹 目录挂载,使用绝对路径。限制挂载文件夹在容器中只读,加 :ro
  • –name 容器名
  • -p 宿主机端口:容器端口 端口映射
  • –link
  • 最后一个参数为镜像名

1、下载镜像

阅读更多

PhpStorm 快捷键

  • 文件

    • option + command + y 同步文件/文件夹,文件夹中外部新增或删除文件时刷新有延迟,使用该快捷键同步
    • Ctrl + n 新建文件/文件夹
  • 编辑

    • command + x 剪切行
    • command + c 复制行/复制选中文本
    • command + shift + c 复制文件/文件夹路径
    • command + d 复制行
    • option + ↑ 选择更多代码
    • option + ↓ 选择更少代码
    • option + → 下一个代码(令牌)位置
    • option + ← 上一个代码(令牌)位置
    • command + → 代码行尾
    • command + ← 代码行头
    • tab 增加缩进
    • shift + tab 减少缩进
    • command + shift + enter 完成代码声明
  • 查找相关

    • command + f 查找当前文件
    • command + r 查找替换
    • command + shift + o 快速查询文件
    • command + shift + f 关键字查找,更强大的查询器
    • command + shift + r 高级替换
    • command + option + b 找到当前类(接口的)所有继承(实现类)
    • option + shift + c 查找最近修改的文件
    • option + f7 直接查询选中的字符
    • ctrl + f7 文件中查询选中字符
    • command + 鼠标点击 跳到类或方法或变量等声明处
    • command + shift + tab 切换tab页文件
    • command + shift + +,- 展开或缩起
    • command + . 折叠或展开选中的代码
  • View

    • command + e 打开最近的文件
    • shift + command + e 最近打开文件具体代码位置
  • Bookmarks

    • F3 加入/取消书签
    • option + F3 加入(可设置数字字母记号的)/取消书签
    • command + F3 弹窗显示/隐藏书签
  • Code

    • shift + command + ↑ 声明段上移
    • shift + command + ↓ 声明段下移
    • shift + option + ↑ 行上移
    • shift + option + ↓ 行下移
  • 自动代码

    • option + 回车 选中类名/接口名后按快捷键,导入包,自动修正
    • command + n 快速生成代码,为每个成员属性生成 getter/setter/__construct/方法、文档注释、单元测试等
    • ctrl + i 快速生成插入魔术方法
    • ctrl + o 复写父类方法
    • command + option + l 对当前文件进行格式化排版
    • command + d 复制当前行
    • command + / // 单行注释
    • command + shift + / 多行注释
  • 显示窗口

    • command + 1 Project
    • command + 2 Favorites
    • command + 6 TODO
    • command + 7 Structure
    • command + 9 Version Control 版本控制
    • option + F12 Terminal 终端
  • Git

    • ctrl + v 版本控制相关操作
    • option + command + a Add
    • option + command + z revert (取消Add)
    • shift + command + p pull
    • shift + command + k push
    • command + k commit

CentOS 下 Nginx 部署免费SSL安全证书 Let's Encrypt (certbot)

关于Let’s Encrypt

Let’s Encrypt 是一个免费、开放,自动化的证书颁发机构,由 ISRG(Internet Security Research Group)运作。

兼容性: Let’s Encrypt 已经得了 IdenTrust 的交叉签名,这意味着其证书现在已经可以被所有主流的浏览器所信任,包括从IE6-IE11,其它现代浏览器更没话说,100%放心使用。

申请频率限制

注册IP限制:每IP每3个小时不超过10次

域名数量限制:每个域名(包含子域名)每7天不超过5个

证书位置

所有版本已申请的证书放在 /etc/letsencrypt/archive下,/etc/letsencrypt/live是指向最新版本的符号链接。web server中关于证书的配置建议指向 live 目录下的文件,以免证书更新后还需要更改配置。

每个域名一个目录,主要包含以下几个文件:

  • cert.pem 申请的服务器证书文件
  • privkey.pem 服务器证书对应的私钥
  • chain.pem 除服务器证书外,浏览器解析所需的其他全部证书,比如根证书和中间证书
  • fullchain.pem 包含服务器证书的全部证书链文件

证书更新

阅读更多

解决 vim 粘贴内容缩进错乱问题

平时经常用vim编辑服务器端一些配置文件和脚本,当复制粘贴内容时,会因为自动缩进把代码缩进搞乱了。

解决办法:进入粘贴模式粘贴内容

1
:set paste

我们不能直接通过修改配置来适应粘贴内容,因为粘贴模式下配置变化:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
textwidth = 0
wrapmargin = 0
set noai
set nosi
softtabstop = 0
revins 重置
ruler 重置
showmatch 重置
formatoptions 使用空值

# 下面的选项值不变,但却被禁用:
lisp
indentexpr
cindent