PHP 7.4 编译安装的问题

configure: WARNING: unrecognized options: –enable-zip

configure 时会报出这个警告,查询文档 《从 PHP 7.3.x 移植到 PHP 7.4.x》其中 Migration to pkg-config 部分有相关说明:–enable-zip becomes –with-zip,也就是说 –enable-zip 这个配置项已经没有了取而代之的时 –with-zip 。

顺带提一句,增加了 –with-zip 后如果出现缺失 libzip 的保存,需要执行:

yum install libzip-devel

macOS Mojave ssh 登陆 LC_CTYPE: cannot change locale (UTF-8): No such file or directory

macOS Mojave 使用 ssh 登陆远程服务器的时候提示错误信息:

-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

通过修改ssh_config文件可以解决这个问题:

sudo vi /etc/ssh/ssh_config

将SendEnv LANG LC_*用#注释即可

Nginx反向代理在目标是域名的情况下的配置

Nginx 可以做反向代理,如果在做反向代理的时候目标服务是域名,并且域名解析有可能变更的情况下,单纯的使用 proxy_pass

proxy_pass http://domain:port/path

可能会在域名解析变更的时候产生问题。

在 Nginx 启动的时候会做域名解析,然后吧IP缓存起来以后会一直使用解析到的IP并且不会再更改,除非重新启动 Nginx,如果目标服务器采用的类似 AWS ELB 的技术就必然会产生问题。 继续阅读

CentOS 7 安装 Apache Benchmark(ab)

今天需要压一下服务器所以需要在 CentOS7 上安装一下 ab,搜了一下发现下面这个方法简单可行。

先通过 yum 查找包含 /usr/bin/ab 这个文件的包:

[root@localhost]# yum provides /usr/bin/ab
已加载插件:priorities, update-motd, upgrade-helper
11 packages excluded due to repository priority protections
httpd-tools-2.2.31-1.8.amzn1.x86_64 : Tools for use with the Apache HTTP Server
源    :amzn-main
匹配来源:
文件名    :/usr/bin/ab



httpd24-tools-2.4.23-1.66.amzn1.x86_64 : Tools for use with the Apache HTTP
                                       : Server
源    :amzn-main
匹配来源:
文件名    :/usr/bin/ab

然后再安装这个包即可:

yum install httpd24-tools-2.4.23-1.66.amzn1.x86_64

 

Homebrew 使用代理

由于众所周知的原因在国内使用 brew 安装软件的时候速度极其慢,根据这篇文章《让 Homebrew 走代理更新》尝试了一下发现很容易就可以实现 brew 的代理。

直接将下面这行配置增加到环境配置中即可,比如 ~/.zsh_profile

export ALL_PROXY=socks5://127.0.0.1:1080

然后记得更新一下环境配置

source ~/.zshrc

 

https配置神器

如果你是一个新手,并且知道 https 的重要性,可是又担心自己配置不完全导致 https 出现安全漏洞。

如果你是一个老手,厌倦了每次配置 https 时各种 web 服务器的不同配置项。

那么你需要这个 mozilla 为大家准备好的 https 配置生成器

https://mozilla.github.io/server-side-tls/ssl-config-generator

选择自己的 web 服务器、兼容的浏览器类型就可以自动生成基本不需要修改的 https。

需要提醒的是该配置表中缺少 HPKP 和 HCSP 相关配置。不过这部分的配置也没法自动生成就是了。