1、使用 includes 简化配置 需要清理庞杂的配置文件,将配置按逻辑划分为模块化配置集。 使用 include 指令来引用配置文件、目录或掩码: http { include config.d/compression.conf; include sites-enabled/*.conf } include 指令中只包含一个参数,可以是文件的路径或是与许多文件匹配的掩码。该
1、使用压测工具实现测试自动化 需要使用压测工具实现测试自动化,以确保测试一致性和可重复性。 使用 HTTP 压测工具,例如 Apache Jmeter、Locust、Gatling 或团队标准化的任何测试工具。为压测工具创建配置,对您的 Web 应用做全面测试,包括对服务进行测试。查看从测试中收集的指标,以建立基线。缓慢增加模拟的并发用户数,以模拟典型的生产使用情况并确定改进点。对 NGINX
1、配置访问日志 需要配置访问日志格式,以将内置变量添加到请求日志中。 配置访问日志格式: http { log_format geoproxy '[$time_local] $remote_addr ' '$realip_remote_addr $remote_user ' '$proxy_protocol_server_addr $pr
1、NGINX Plus HA(高可用性)模式 需要高可用性负载均衡解决方案。 从 NGINX Plus 仓库中安装 nginx-ha-keepalived 包,利用 keepalived 实现 NGINX Plus 的 HA 模式。 详解 nginx-ha-keepalived 包基于 keepalived,管理暴露给客户端的虚拟 IP 地址。在NGINX 服务器上运行的另一个进程可确保 NGI
【NGINX--9】复杂的媒体串流 17/100 保存草稿 发布文章 未选择文件 new 1、传输 MP4 和 FLV 格式的文件 需要流式传输 MP4 或 FLV 格式的数字媒体。 解决方案 指定一个 location 代码块,提供 .mp4 或 .flv 格式的视频。NGINX 将使用渐进式 下载或 伪流技术流式传输媒体并支持搜索: {
1、基本配置 想要利用 HTTP/2。 在 NGINX 服务器上启用 HTTP/2: server { listen 443 ssl http2 default_server; ssl_certificate server.crt; ssl_certificate_key server.key; # ... } 详解 要启用 HTTP/2,您只需要将 http2
1、HTTPS 重定向 将未加密的请求重定向到 HTTPS。 使用 rewrite 指令将所有 HTTP 流量发送到 HTTPS: server { listen 80 default_server; listen [::]:80 default_server; server_name _; return 301 https://$host$request_uri
1、基于 IP 地址的访问 根据客户端的 IP 地址控制访问。 使用 HTTP 或 stream 访问模块控制对受保护资源的访问: location /admin/ { deny 10.0.0.1; allow 10.0.0.0/20; allow 2001:0db8::/32; deny all; } 给定的 location 代码块允许来自 10.0.0
1、HTTP 基本身份验证 需要通过 HTTP 基本身份验证保护应用或内容。 生成以下格式的文件,其中的密码使用某个受支持的格式进行了加密或哈希处理: # comment name1:password1 name2:password2:comment name3:password3 第一个字段是用户名,第二个字段是密码,冒号是分隔符。第三个字段为可选项,您可以使用该字段对每个用户进行评论。
1、缓存区 缓存内容并定义缓存的存储位置。 使用 proxy_cache_path 指令定义共享内存缓存区和内容的位置: proxy_cache_path /var/nginx/cache keys_zone=CACHE:60m levels=1:2 inactive=3h
1、A/B 测试 在文件或应用的两个或多个版本之间分割客户端流量,以测试接受度或参与度。 使 用 split_clients 模块将一定比例的客户端流量定向到一个不同的上游(upstream)池: split_clients "${remote_addr}AAA" $variant { 20.0% "backendv2"; * "b
1、HTTP 负载均衡 将负载分发到两台或多台 HTTP 服务器。 在 NGINX 的 HTTP 模块内使用 upstream 代码块对 HTTP 服务器实施负载均衡: upstream backend { server 10.10.12.45:80 weight=1; server app.example.com:80 weight=2; server spare.exa
1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息,并安装一些有助于配置官方 NGINX 软件包仓库的软件包: apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-archive-keyring
先了解下编写Shell过程中注意事项 开头加解释器:#!/bin/bash 语法缩进,使用四个空格;多加注释说明。 命名建议规则:全局变量名大写、局部变量小写,函数名小写,名字体现出实际作用。 默认变量是全局的,在函数中变量local指定为局部变量,避免污染其他作用域。 有两个命令能帮助我调试脚本:set -e 遇到执行非0时退出脚本,set-x 打印执行过程。 写脚本一定先测试再到生产上。
Shell中的特殊符号 1.$ 美元符号,用来表示变量的值。 如变量NAME的值为Mike,则使用$NAME就可以得到“Mike”这个值。 2.# 井号,除了做为超级用户的提示符之外,还可以在脚本中做为注释的开头字母,每一行语句中,从#号开始的部分就不执行了。 3.“” 双引号,shell不会将一对双引号之间的文本中的大多数特殊字符进行解释。 如#不再是注释的开头,它只表示一个井号“#”。但$
Shell 文件包含 和其他语言一样,Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。 Shell 文件包含的语法格式如下: . filename # 注意点号(.)和文件名中间有一空格 或 source filename 实例 创建两个 shell 脚本文件。 test1.sh 代码如下: #!/bin/bash url="http:/
Shell 输入/输出重定向 大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回到您的终端。一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端。同样,一个命令通常将其输出写入到标准输出,默认情况下,这也是你的终端。 重定向命令列表如下: 需要注意的是文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDE
Shell 函数 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。 shell中函数的定义格式如下: [ function ] funname [()] { action; [return int;] } 说明: 1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。 2、参数返回,可以显示加:return
Shell 流程控制 和 Java、PHP 等语言不一样,sh 的流程控制不可为空,如(以下为 PHP 流程控制写法): <?php if (isset($_GET["q"])) { search(q); } else { // 不做任何事情 } 在 sh/bash 里可不能这么写,如果 else 分支没有语句执行,就不要写这个 else。 if els
Shell test 命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。 数值测试 num1=100 num2=100 if test $[num1] -eq $[num2] then echo '两个数相等!' else echo '两个数不相等!' fi 输出结果: 两个数相等! 代码中的 [ ] 执行基本的算数运算
Shell printf 命令 printf 命令模仿 C 程序库(library)里的 printf() 程序。 printf 由 POSIX 标准所定义,因此使用 printf 的脚本比使用 echo 移植性好。 printf 使用引用文本或空格分隔的参数,外面可以在 printf 中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认的 printf 不会像 echo 自动添加换行
Shell echo命令 Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式: echo string 您可以使用echo实现更复杂的输出格式控制。 1.显示普通字符串 echo "It is a test" 这里的双引号完全可以省略,以下命令与上面实例效果一致: echo It is a test 2.显示转义字符 ech
Shell 基本运算符 Shell 和其他编程语言一样,支持多种运算符,包括: 算术运算符 关系运算符 布尔运算符 逻辑运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。 expr 是一款表达式计算工具,使用它能完成表达式的求值操作。 例如,两个数相加(注意使用的是反引号 ` 而不是单引号 '):
Shell数组 数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。 与大部分编程语言类似,数组元素的下标由 0 开始。 Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下: array_name=(value1 value2 ... valuen) 创建一个简单的数组 my_arra
Shell 传递参数 我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名(包含文件路径): #!/bin/bash echo "Shell 传递参数实例!"; echo "执行的
Shell 字符串 字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。 单引号 str='this is a string' 单引号字符串的限制: 变量替换:在单引号字符串中,对变量的引用不会被解析或替换为其对应的值。即使使用 $ 符号引用变量,变量名仍然会被视为普通字符而不是变量的值。例如:echo
shell变量 定义变量时,变量名不加美元符号($,PHP语言中变量需要),如: your_name="runoob.com" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则: 变量名可以包含字母、数字和下划线(_),并且不能以数字开头。 不要使用关键字 尽量简洁明了 有效的 Shell 变量名示例如下: BROO
Shell Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。 Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。 Shell 脚本 S
一、Linux 系统日常运维九大技能 1、安装部署 方式:U盘,光盘和网络安装 其中网络安装已经成为了目前批量部署的首选方式:主要工具有Cobbler和PXE+kickstart 网络安装可以参考如下链接: ://./mchina/p/centos-pxe-kickstart-auto-install-os.html 2、初始化配置 禁用服务 1.使用syst
shell概述:shell是一个命令行解释器,它接收应用程序或用户的命令,然后调用操作系统内核 Linux Shell 种类非常多, 常见的有: Bourne Shell (/usr/bin/sh 或/bin/sh)、 Bourne Again Shell (/bin/bash)、 C Shell (/usr/bin/csh)、 K Shell (/usr/bin/ksh)、 Shell for
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号