当前分类

Linux

详解 Nginx 和 php-fpm 调用方式

详解 Nginx 和 php-fpm 调用方式

PHP 项目使用 Nginx 时,一般通过 php-fpm Nginx+PHP-FPM 形式访问交互,本文将详细解读 Nginx 配置文件、PHP-FPM、PHP-CGI 和 fastCGI 的概念。 一.背景: 在开发中碰到一个问题,项目以 nginx+php-fpm 形式访问交互,结果访问项目时报错如上图: 二.分析: 提示很明确嘛,去看 error.log(在nginx.conf或者vhost里头配置 ...

通过 Nginx 设置连接访问限制,以及对限制开通白名单

通过 Nginx 设置连接访问限制,以及对限制开通白名单

有时需要通过 Nginx 设置一些连接访问的限制,并且设置限制白名单,对客户端特定 IP 地址不做过滤。 要求 Nginx geo 格式说明 Syntax ( 语法格式 ): geo [$address] $variable { ... } Default ( 默认 ): - Content ( 配置段位 ): http Nginx map 格式说明 Syntax ( 语法格式 ): map String $variable { ... } Default ( 默 ...

location =/ { } 和 loctaion / { }  带不带 = 等于号的区别

location =/ { } 和 loctaion / { } 带不带 = 等于号的区别

location / { }: 遵循普通 location 的最大前缀匹配,由于任何URI都必然以/根开头,所以对于一个 URI,若配置文件中有更合适的匹配则会将其代替,否则返回 location / { } 匹配到的结果,他相当于站点默认配置。 location = / { }: 遵守的是精准匹配,也就是只能匹配该站点根目录,同时会禁止继续搜索正则 location,效率 ...

Nginx 配置文件 nginx.conf 的结构详解

Nginx 配置文件 nginx.conf 的结构详解

Nginx 主配置文件 nginx.conf 共由三部分组成:全局块、events块和 http块。http 块又包含 http 全局块、多个 server 块。而每个 server 块中,可以包含 server 全局块和多个 location 块。在同一配置块中嵌套的配置块,各个之间不存在次序关系。 同一个指令放在不同层级的块中,其作用域也不同,一般情况下,高一级块中的 ...

Linux 使用 screen 后台执行命令的方法

Linux 使用 screen 后台执行命令的方法

避免脚本在关闭远程终端,或网络断开时停止运行,就要使用到screen命令。screen 中有会话的概念,可以在一个 screen 会话中创建多个 screen 窗口,在每一个 screen 窗口中就像操作一个真实的 telnet/SSH 连接窗口一样。 安装 screen 软件包 # 可以直接使用yum安装 [root@xuexi ~]# yum -y install screen # 也可以挂载 Cent ...

正则表达式中需要转义的特殊字符

正则表达式中需要转义的特殊字符

如果要查找文件名中有*的文件,则需要对*进行转义,即在其前加一个\。ls \*.txt。正则表达式有以下特殊字符。 $ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或 ‘\r'。要匹配 $ 字符本身,请使用 \$。 ( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要 ...

书写高效的正则表达式,正则表达式性能优化方法

书写高效的正则表达式,正则表达式性能优化方法

影响 NFA 类正则表达式(常见语言:GNU Emacs,Java,ergp,less,more,.NET语言,PCRE library,Perl,PHP,Python,Ruby,sed,vi ) 其实主要是它的“回溯”,减少“回溯”次数(减少循环查找同一个字符次数),是提高性能的主要方法。 演示 示例 源字符串: 匹配要求:匹配 标签里面所有内容,包括改标签 方法 1 因为 (测试工具使用了: ...

正则表达式匹配原理与解析过程探讨分析

正则表达式匹配原理与解析过程探讨分析

已经有多篇关于正则表达式介绍的文章,随着我们越来越多使用正则表达式,想对性能做优化、减少我们正则表达式书写匹配 Bug。我们不得不进一步深入了解正则表达式执行过程了。下面我们一起学习,分析下正则表达式执行过程。 我们会用 regexbuddy 测试工具分解执行过程,具体工具使用,可以看:正则表达式性能测试工具推荐、 ...

正则表达式的修正符:i、g、m、s、x、e

正则表达式的修正符:i、g、m、s、x、e

正则表达式中常用的模式修正符有 i、g、m、s、x、e等。它们之间可以组合搭配使用。 它们的作用如下: 修正符:i 不区分大小写的匹,如: /abc/i 可以与 abc 或 aBC 或 ABc 等匹配。 修正符:g 表示全局匹配 修正符:m 将字符串视为多行,不管是那行都能匹配。例,模式为:$mode="/abc/m"; ,要匹配的字符串为:$str="bcefg5 ...

Nginx 配置文件的时间单位和计量单位

Nginx 配置文件的时间单位和计量单位

计量大小的单位: bytes, kilobytes(后缀为 k 或 K), megabytes(后缀为 m 或 M), 例如:“1024”, “8k”, “1m”. 时间单位: ms milliseconds 毫秒 s seconds m minutes h hours d days w weeks M months, 30 days y years, 365 days Multiple units can be combined in a single value by specifying them in the order from ...

Nginx 如何对单个 url 的访问频率进行限制

Nginx 如何对单个 url 的访问频率进行限制

近期有不法人员针对公司的登录地址进行非法暴力破解,所以本人加上了登录页面的单个 ip 的频率限制写法如下! http 模块中加入: http { #定义一个名为allips的limit_req_zone用来存储session,大小是10M内存, #1M能存储16000个状态,rete的值必须为整数, #限制两秒钟一个请求,设置成30r/m ...... limit_req_zone $binar ...

Nginx 对 IP 和 URL 进行访问频率的限制

Nginx 对 IP 和 URL 进行访问频率的限制

HttpLimitReqModul 为 nginx 官方自带的限制单位时间内请求次数的功能模块,通过 limit_req_zone 和 limit_req 命令配合使用来达到限制。一旦对应的累计连接超过指定数量,就会返回 503 错误。可以利用该规则对 IP 和 URL 进行访问频率的限制。 1. 限制规则 limit_req_zone $binary_remote_addr zone=ip_second:10m rate=10 ...

使用 Nginx 限流模块 limit_req_zone 来限制单位时间内的请求数目/速度/连接数

使用 Nginx 限流模块 limit_req_zone 来限制单位时间内的请求数目/速度/连接数

根据 nginx 官网提供的说法,有两种算法,一种是漏桶算法,一种是令牌桶算法。limit_req_zone 用来限制单位时间内的请求数目,以及速度限制;limit_req_conn 用来限制同一时间连接数,即并发限制。 1. 限流算法介绍 1.1 令牌桶算法 令牌桶: 1.2 漏桶算法 漏桶算法: 相比漏桶算法,令牌桶算法不同之处在于它不但有一只“桶”,还 ...

Nginx 资源请求限制:链接数/请求速率/宽带

Nginx 资源请求限制:链接数/请求速率/宽带

前置条件: nginx 需要有 ngx_http_limit_conn_module 和 ngx_http_limit_req_module 模块,可以使用命令 2>&1 nginx -V | tr ' ' '\n'|grep limit 检查有没有相应模块,如果没有请重新编译安装这两个模块。 测试版本为:nginx 版本为 1.15+ 1. 限制链接数 1.使用 limit_conn_zone 指令定义密钥并设置共享内存区域的参数( ...

laravel 如何自定义404页面并给页面传值

laravel 如何自定义404页面并给页面传值

以 laravel5.8 为例,虽然有自带的404页面,但太简单,我们更希望能自定义404页面,将用户留在站点。实现的方式很简单,将自定义的视图文件命名为 404.blade.php,并放到 resources/views/errors 目录中即可 当 laravel 抛出 404 时就会渲染该视图,可如果我们要在这个视图文件传递变量呢? 这时候就需要用到 view composer ...

进程终止命令:kill 与 kill -9 的区别

进程终止命令:kill 与 kill -9 的区别

kill 和 kill -9 是常用的命令,都可以用来杀死进程。那 kill 与 kill -9 有什么区别呢? kill kill 命令默认的信号就是 15,也就是 kill -15 ,被称为优雅的退出。当使用 kill -15 时,系统会发送一个SIGTERM的信号给对应的程序。当程序接收到该信号后,具体要如何处理是自己可以决定的。 这时候,应用程序可以选择: 因为 ...

微信扫一扫,分享到朋友圈

控制台错误警告:DevTools failed to load SourceMap: Could not load content