搞定服务端面试 - HTTP协议知识点整理

2019-05-02
阅读 8 分钟
8.6k
HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议) 的缩写,是用于浏览器与服务器之间传输文字、图片、音频、视频等超文本数据的约定和规范。当前主流的HTTP协议版本为 HTTP/1.1

搞定PHP面试 - 正则表达式知识点整理

2019-01-08
阅读 7 分钟
6.5k
正则表达式(Regular Expression)就是用某种模式去匹配一类字符串的一种公式。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真阅读本教程,加上应用的时候进行一定的参考,掌握正则表达...

搞定PHP面试 - 深入了解引用

2018-09-15
阅读 4 分钟
3.2k
在 PHP 中引用是指用不同的名字访问同一个变量内容。PHP 中的变量名和变量内容是不一样的, 因此同样的内容可以有不同的名字。最接近的比喻是 Unix 的文件名和文件本身——变量名是目录条目,而变量内容则是文件本身。引用可以被看作是 Unix 文件系统中的硬链接。

搞定PHP面试 - 函数知识点整理

2018-09-15
阅读 10 分钟
2.8k
在此所说的字母是 a-z,A-Z,以及 ASCII 字符从 127 到 255(0x7f-0xff)。因此实际上使用中文变量名也是合法的。甚至使用中文的标点符号作为变量名都是合法的。只是一般都不推荐这样用。

搞定PHP面试 - 运算符知识点整理

2018-09-08
阅读 5 分钟
3k
位移在 PHP 中是数学运算。向任何方向移出去的位都被丢弃。左移时右侧以零填充,符号位被移走意味着正负号不被保留。右移时左侧以符号位填充,意味着正负号被保留。

搞定PHP面试 - 变量知识点整理

2018-09-08
阅读 5 分钟
2.4k
在此所说的字母是 a-z,A-Z,以及 ASCII 字符从 127 到 255(0x7f-0xff)。因此实际上使用中文变量名也是合法的。甚至使用中文的标点符号作为变量名都是合法的。只是一般都不推荐这样用。

搞定PHP面试 - 变量的引用赋值与传值赋值

2018-09-01
阅读 7 分钟
6.9k
一、使用 memory_get_usage() 查看PHP内存使用量 1. 传值赋值 {代码...} 输出结果: {代码...} 定义一个变量 $a = range(0, 10000); $b = $a; 对a进行修改 $a = range(0, 10000); PHP写时复制机制(Copy-on-Write,也缩写为COW) 顾名思义,就是在写入时才真正复制一份内存进行修改。COW最早应用在Unix系统中对线程与内...

编译安装PHP7及扩展

2018-08-25
阅读 12 分钟
10.8k
一、编译安装PHP1. 下载源码包并解压源码包地址:[链接]下载源码包当前PHP最新本门是7.4.14,下载 php-7.4.14 源码包 {代码...} 解压源码包解压缩 {代码...} 进入解压缩后的目录,查看解压的文件 {代码...} 2. 编译安装首先安装PHP编译安装所必须的软件 {代码...} configure指定安装目录,启用fpm {代码...} 编译安装 {...

Redis持久化 - RDB和AOF

2018-08-19
阅读 7 分钟
26.7k
持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化Redis所有数据保持在内存中,对数据的更新将异步地保存到磁盘上。

Redis学习笔记 - pipline(流水线、管道)

2018-08-18
阅读 1 分钟
4.5k
一、什么是 pipline 1. 一次网络命令的通信模型 1次网络命令时间 = 1次网络传输时间(往返) + 1次命令执行时间 2. 批量网络命令的通信模型 n次网络命令时间 = n次网络传输时间(往返) + n次命令执行时间 3. pipline可以打包n条命令,一次性传输到服务端,再按顺序返回命令的执行结果 1次pipline(n条命令)网络命令时间 ...

Nginx实践篇(5)- Nginx代理服务 - 代理缓冲区、代理重新定义请求头、代理连接超时

2018-08-11
阅读 3 分钟
16.8k
proxy_buffering这个参数用来控制是否打开后端响应内容的缓冲区,如果这个设置为off,那么proxy_buffers和proxy_busy_buffers_size这两个指令将会失效。 但是无论proxy_buffering是否开启,对proxy_buffer_size都是生效的。

Nginx + Lets'encrypt 实现HTTPS访问七牛空间资源

2018-08-07
阅读 6 分钟
5.8k
上一篇文章 为七牛云存储空间绑定自定义域名,并使用七牛云提供的免费SSL证书,将自定义加名升级为HTTPS 我们提到利用七牛的免费SSL证书,将自定义加名升级为HTTPS的方法。 不知道有没有小伙伴会像我一样担心一年七牛的SSL证书不免费了怎么办?每个域名每年都要几千块的支出对于个人和小企业来说还是一笔不小的数目。 如...

为七牛云存储空间绑定自定义域名,并使用七牛云提供的免费SSL证书,将自定义加名升级为HTTPS

2018-08-07
阅读 5 分钟
18.9k
想必最近很多小伙伴都收到了这封来自七牛云的邮件,这意味着创建七牛云空间时附带自动生成的域名每30日就会变更一次,再也无法长期使用。现在我们必须给七牛云空间绑定一个自己的域名。

Nginx实践篇(4)- Nginx代理服务 - 正向代理和反向代理

2018-08-05
阅读 4 分钟
7.4k
一、代理简介 1. 代理 2. Nginx代理服务 3. 正向代理和反向代理 区别在于代理的对象不一样。 正向代理代理的对象是客户端 反向代理代理的对象是服务端 4. Nginx代理模块 ngx_http_proxy_module 语法 {代码...} URL支持: http:http://localhost:8000/uri/ https:https://192.168.1.111:8000/uri/ socket:http://unix:...

Nginx实践篇(3)- 跨域访问

2018-08-05
阅读 3 分钟
7.2k
Nginx通过添加 Access-Control-Allow-Origin、Access-Control-Allow-Methods、Access-Control-Allow-Headers 等HTTP头信息的方式控制浏览器缓存。

Nginx实践篇(2)- Nginx作为静态资源web服务 - 控制浏览器缓存、防盗链

2018-08-05
阅读 5 分钟
4.7k
一、控制浏览器缓存 1. 浏览器缓存简介 浏览器缓存遵循HTTP协议定义的缓存机制(如:Expires;Cache-control等)。 当浏览器无缓存时,请求响应流程 当浏览器有缓存时,请求响应流程 浏览器缓存校验过期机制 校验是否过期 Cache-Control(max-age)、Expires 协议中Etag头信息校验 Etag Last-Modified头信息校验 Last-Modif...

Nginx实践篇(1)- Nginx作为静态资源web服务 - 静态资源压缩

2018-08-04
阅读 4 分钟
7k
sendfile 是一种高效传输文件的模式.sendfile设置为on表示启动高效传输文件的模式。sendfile可以让Nginx在传输文件时直接在磁盘和tcp socket之间传输数据。如果这个参数不开启,会先在用户空间(Nginx进程空间)申请一个buffer,用read函数把数据从磁盘读到cache,再从cache读取到用户空间的buffer,再用write函数把数据...

Nginx基础篇(4)- Nginx请求限制和访问控制

2018-07-11
阅读 4 分钟
10.6k
HTTP请求建立在一次TCP连接的基础上。一次TCP连接至少可以产生一次HTTP请求,HTTP1.1版本以后,建立一次TCP连接可以发送多次HTTP请求。

Nginx基础篇(3)- Nginx常用官方模块

2018-07-11
阅读 3 分钟
3.8k
Nginx常用官方模块 {代码...} Nginx官方模块文档 1. ngx_http_stub_status_module 编译选项 {代码...} 作用 提供Nginx当前处理连接等基本状态信息的访问 语法 {代码...} 用法 在nginx配置文件中的 server 下配置 {代码...} 修改后重新载入配置文件nginx -s reload 在浏览器中访问 http://<ip>/nginx_status,会返...

Nginx基础篇(2)- Nginx基本配置文件和变量详解

2018-07-10
阅读 6 分钟
3.9k
Nginx基本配置文件和变量详解 1. 基本配置文件 /etc/nginx/nginx.conf {代码...} 2. Nginx变量 HTTP请求变量 arg_参数名:例如,$arg_userid,可以引用到请求参数userid的值 http_请求HEADER名:例如,$http_user_agent,可以引用到请求头信息User-Agent的值 sent_http_返回HEADER名:在响应客户端可添加header头信息 内...

Nginx基础篇(1)- Nginx的快速搭建和基本参数

2018-07-10
阅读 6 分钟
3.2k
Nginx的快速搭建和基本参数 一、Nginx简介 1. Nginx简述 Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务。 2. 常见的HTTP服务 httpd - Apache IIS - 微软 GWE - Google tomcat - Sun 二、为什么选择Nginx 1. IO多路复用epoll 什么是IO多路复用 多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这就叫I/O...

Linux权限管理(4)sudo权限

2018-06-10
阅读 5 分钟
15.2k
我们信任您已经从系统管理员那里了解了日常注意事项。总结起来无外乎这三点: #1) 尊重别人的隐私。 #2) 输入前要先考虑(后果和风险)。 #3) 权力越大,责任越大。

Linux权限管理(3)Set UID权限、Set GID权限、Sticky BIT权限、chattr权限

2018-06-09
阅读 7 分钟
5.5k
SUID权限、SGID权限、SBIT权限 都属于极其不安全的权限,这里只是作为了解学习,在生产环境尽量不去设置这些权限! 一、Set UID权限(SUID权限) 1. Set UID权限的限制与功能 只有可执行的二进制程序才能设定SUID权限(对普通shell脚本无效) 命令执行者对该程序拥有执行(x)权限 命令执行者在执行该程序时获得该程序文...

Linux权限管理(2)ACL权限

2018-06-09
阅读 8 分钟
2.8k
Linux 下用户对文件的操作权限有 r-读, w-写, x-可执行三种。 而对linux 下的文件而言,用户身份分为:所有者, 所属组, 其它人三种。且文件的所有者,所属组都只能是一个。 所以在对文件分配用户的使用权限时,只能对这三种身份进行分配读、写、执行权限。

Linux权限管理(1)基本权限

2018-06-06
阅读 4 分钟
4k
一、文件类型与权限 -rwxrw-r-- 第1个字符表示文件类型 若是 - ,表示是普通文件 若是 d ,表示是目录 若是 l ,表示是链接文件 若是 b ,表示是设备文件里的可供存储的接口设备 若是 c ,表示是设备文件里的串行端口设备,例如鼠标、键盘 第2至4个字符是一组,表示所有者权限(u) 第5至7个字符是一组,表示所属组权限...

Linux 用户和用户组管理

2018-06-06
阅读 6 分钟
4.6k
信息之间以 : 分隔"密码" 字段存放的是加密后的用户密码:如果为空,则对应用户没有密码,登录时不需要密码;星号(*)代表帐号被锁定,不能登录;双叹号 (!!) 表示这个密码已经过期了;$6$ 开头,表明是用SHA-512加密;$1$ 开头,表明是用MD5加密;$2$ 开头,表明是用Blowfish加密;$5$ 开头,表明是用 SHA-256加密;"...

Linux Shell编程(9) - 流程控制语句(三)循环语句:for、while、until

2018-06-05
阅读 4 分钟
3.5k
一、for循环 1. 语法 语法1 {代码...} 语法2 {代码...} 2. 应用 批量解压缩脚本 for_tar.sh {代码...} 为 for_tar.sh脚本添加执行权限 {代码...} 运行脚本前 {代码...} 运行脚本后 {代码...} 批量创建用户 for_useradd.sh {代码...} 为 for_useradd.sh脚本添加执行权限 {代码...} 运行脚本 {代码...} 查看新增加的用户 {...

Linux Shell编程(8) - 流程控制语句(二)分支条件语句:if、case

2018-06-05
阅读 7 分钟
3.1k
一、单分支if语句 1. 语法 {代码...} 或者 {代码...} 单分支条件语句需要注意 if 语句使用 fi 结尾,和一般语言使用大括号结尾不同 [ 条件判断式 ] 就是使用 test 命令判断,所以中括号和条件判断式之间必须有空格 then 后面跟符合条件之后执行的程序,可以放在 [] 之后,用 ; 分隔。也可以换行输入,就不需要 ; 了 2. ...

Linux Shell编程(7) - 流程控制语句(一)条件判断式语句

2018-06-04
阅读 6 分钟
3.2k
一、两种判断格式 test 判断式 [ 判断式 ] (常用) 二、按照文件类型进行判断 测试选项 作用 -b 文件 判断该文件是否存在,并且是块设备文件 -c 文件 判断该文件是否存在,并且是字符设备文件 -d 文件 判断该文件是否存在,并且是目录 -e 文件 判断该文件是否存在 -f 文件 判断该文件是否存在,并且是普通文件 -L 文件 判...

Linux Shell编程(6) - 字符操作命令:cut、printf、awk、sed、sort、wc

2018-06-02
阅读 14 分钟
4.1k
一、cut 命令 cut命令用来显示行中的指定部分 1. 语法 {代码...} 2. 选项 -f 列号:第几列提取-d 分隔符:按照指定分隔符分隔列,若不设置,默认为制表符(Tab键) 3. 应用 处理以制表符分隔的成绩单 report.md {代码...} 查看 report.md 中的第二列 {代码...} 查看 report.md 中的第二列和第四列 {代码...} 处理以 : 分...