我在维护的一个内部服务用到了 BasicAuth 的认证方式,但总是有人不断的问我要怎么用,这里详细的说一下.使用场景要知道 BasicAuth 的使用场景,它是最简单的一种认证方式,说白了就是用户名 + 密码,这种方式有很多问题,比如它通过网络发送用户名和密码,而这些都是以一种很容易解码的形式表示的.虽然它是用 base64_encode 加密过了,但这种加密的作用也仅仅是让可信任的用户不太可能在进行网络观测时无
起因写这篇文章的起因是要安装 Swoole,而它又依赖 php_sockets 扩展,因为我是通过 apt 安装的 php7.2,没办法直接重新编译,所以就找到了方法,这里记录一下。依赖 Ubuntu/Debian 的打包工具 sudoaptinstalldevscripts 重新打包 PHP7.2 需要的依赖 sudoaptbuild-depphp7.2 下载源码 sudoaptsourcephp7.2 这里要注意一点,Ubun
闲来无事研究一下 PHP 的 MySQL 持久连接问题。在 mysql 扩展的年代,应该用的是 mysql_pconnect,可是那时候我还没有开始接触 PHP,所以我们直接上 PDO。首先说一下本次测试用的环境。关键还要看一下 PHP 的配置。注意其中的最重要的参数 pm.max_children=1,这决定了只能有一个 FPM 的 worker 进程来处理所有请求。这样把问题简化更容易发现特征。我们知道,PHP 的 FPM 有一个 m
我的一个 Debian 虚拟机最近在执行 aptupdate 时总是报这个错误我猜测是本地时间和 mirror 的时间不同导致的(本地时间滞后,导致校验远端 Release 文件失败).我认为可以通过设置正确的本地时间来解决.果然而现在的时间是 5 月 9 号了.当然是通过 ntp 服务器而不是手动设置.果然时间正确之后更新正常了.
1.按 FPM 进程实际占用内存大小排序 ps-ylCphp-fpm--sort:rss 这样的结果是按 KB 大小显示的,而 ps 命令本身不支持将其转换为按 MB 显示,所以需要使用 awkps-ylCphp-fpm--sort:rss|awk'NR>1{$8=int($8/1024)"M";}{print;}'2.查看所有 FPM 进程占用内存的平均值 ps--no-headers-o"rss,cmd"-Cphp-fpm
一直只是知道 401 和 403 都是拒绝访问的意思,但没有仔细研究它们之间准确的区别,现在详细记录一下.表面上是这样 401Unauthorized403Forbidden 从 w3.org 的解释来看:作为非英语国家的我们而言,可能不太能发觉这两个描述中的问题,只是能看明白 401 是没有带认证信息或者带了错误的认证信息,这时客户端可以修改认证信息进行重试;而 403 是客户端带了正确的认证信息,但服务器认为这个认证信
不是很了解 Python 的生态环境,但知道现在主流的包管理工具是 pip,而原来是 setup.py,本质上 setup.py 是读取 requirements.txt 从而获取该包需要的依赖,然后把它们安装在本地,但它的问题是没有办法完整的卸载.pythonsetup.pyinstall 爽完了发现这个包并不能满足需求,或者无法执行,要卸载?不好意思,只有两个命令,一个是 install,一个 build,没有卸载选
有了 docker 可以快速的创建一个 mysql 实例,db:image:mysqlrestart:alwaysenvironment:MYSQL_ROOT_PASSWORD:iampasswordports:-3306:3306volumes:-./env/mysql/data:/var/lib/mysql-./env/mysql/conf:/etc/mysql/conf.d 因为是开发环境,所以我希望 M
准备工作 Ubuntu16.04(withdockerinstalled)步骤 1.安装必要的包 sudoaptinstall-ydocker-composeapache2-utilscurl2.创建相关目录 mkdir/docker-registrymkdir/docker-registry/datamkdir/docker-registry/nginxchownroot:root/docker-regi
openresty 安装 openrestyyum-yinstallyum-utilsyum-config-manager--add-repohttps://openresty.org/package/centos/openresty.repoyum-yinstallopenresty 检查 openresty 相关的包 yum--disablerepo="*"--enablerepo="openresty"l
前言如果你有 Markdown 或者 HTML 转到 PDF 的需求,有非常大的可能你选了一圈方案,最后找到了大名鼎鼎的 wkhtmltopdf.但找到它之后并没有解决所有问题,相反,它会带来更多的问题.首先说一下它的优点:由于是基于 WebKit,所以渲染结果和 Chrome(包括其他基于 Chromium 的浏览器几乎完全一致)可以和前端公用一套 CSS 样式,结果还是体验的一致性支持大量的定制,包括页头页脚,页码,目录
机器配置:CPU:Intel(R)Core(TM)[email protected]:8GBMySQL:5.7.21-0ubuntu0.16.04.1(Ubuntu)准备工作:sysbench--mysql-db=db_test\--mysql-port=3306--db-driver=mysql--mysql-user=root\--mysql-password=root--test
最近一个多月了吧,从微信或者其他地方点击链接从 Chrome 打开(默认 Chrome 浏览器)时 Chrome 总是只打开一个新的空白窗口,对源地址完全不感知.把地址复制下来放在地址栏里可以正常打开.解决方案非常简单,找到 Settings->Advanced->System->Usehardwareaccelerationwhenavailable,(我用的是英文系统,懒得找中文对应的翻译了).相应的项目右边