Nginx 的localtion指令详解
nginx的localtion指令详解Nginx 的 HTTP 配置主要包括三个区块,结构如下: 1234567891011121314http { # 这个是协议级别 include mime.types; default_type application/octet-stream; keepalive_timeout 65; gzip on; server { # 这个是服务器级别 listen 80; server_name localhost; location / { # 这个是请求级别 root html; index index.html index.htm; } }} 一个HTTP模块里可以有多个server模块 一个server模块里可以有多个location模块 location 前缀含义12345678= 表示精确匹配,优先级也是最高的 ^~ 表示uri以某个常...
Nginx 地址重写 rewrite实验
nginx 地址重写 rewrite什么是Rewrite Rewrite对称URL Rewrite,即URL重写,就是把传入Web的请求重定向到其他URL的过程 Rewrite 相关指令 Nginx Rewrite 相关指令有 if、rewrite、set、return rewrite指令最后跟一个flag标记,支持的flag标记有1234last 表示完成rewrite。默认为last。会第二次验证break 本条规则匹配完成后,终止匹配,不再匹配后面的规则redirect 返回302临时重定向,浏览器地址会显示跳转后的URL地址permanent 返回301永久重定向,浏览器地址会显示跳转后URL地址 1、Rewrite匹配参考示例示例 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566例1:本地解析host文件--wind# http://...
Nginx 日志切割脚本实验
nginx日志切割脚本123456789101112131415[root@nginx-web script]# vim nginx_log.sh#!/bin/bashdate=`date +%F -d -1day`log_dir=/var/log/nginx/log_name=access.log[ -d $log_dir ] && cd $log_dir || exit 1[ -f $log_name ] || exit 1/bin/mv $log_name $log_name.${date}/usr/sbin/nginx -s reloadtar czf $log_name.${date}.tar.gz $log_name.${date} && rm -rf $log_name_${date}#deletecd $log_dir || exit 1find ./ -mtime +7 -type f -name *.log | xargs rm -rf
Nginx 流量控制实验
Nginx 流量控制配置基本的限流–ngx_http_limit_req_module模块实现 流量限制”配置两个主要的指令,limit_req_zone和limit_req,limit_req_zone指令设置流量限制和内存区域的参数,但实际上并不限制请求速率。所以需要通过添加limit_req指令启用流量限制,应用在特定的location或者server块 limit_req_zone指令通常在HTTP块中定义,它需要以下三个参数: 123-Key - 定义应用限制的请求特性。示例中的 Nginx 变量$binary_remote_addr,保存客户端IP地址的二进制形式。-Zone - 定义用于存储每个IP地址状态以及被限制请求URL访问频率的内存区域。通过zone=keyword标识区域的名字(自定义),以及冒号后面跟区域大小。16000个IP地址的状态信息,大约需要1MB。-Rate - 连接请求。在示例中,速率不能超过每秒1个请求。 示例一 这里需要两台机器,一台代理,一台宿主机 代理机配置 12345678910111213141516limit_req_zone...
Nginx 访问控制实验
Nginx 访问控制nginx 访问控制模块 12(1)基于IP的访问控制:http_access_module(2)基于用户的信任登录:http_auth_basic_module 1、基于IP的访问控制 12345678910111213# 语法Syntax:allow address | all;default:默认无Context:http,server,locationSyntax:deny address | all;default:默认无Context:http,server,location===================================================allow 允许 //ip或者网段deny 拒绝 //ip或者网段 示例一 12345678910111213141516171819# 拒绝192.168.1.8登入,允许其他所有[root@192 ~]# vim /etc/nginx/conf.d/access_mod.confserver { listen 80; ...
Nginx 变量简介实验
Nginx 变量nginx变量简介 所有的 Nginx变量在Nginx配置文件中引用时都须带上 $ 前缀 在 Nginx 配置中,变量只能存放一种类型的值,而且也只存在一种类型,那就是字符串类型 所有的变量值都可以通过这种方式引用$变量名 nginx中的变量分为两种,自定义变量与内置预定义变量 自定义变量set $变量名 变量值 内置预定义变量 $arg_PARAMETER GET请求中变量名PARAMETER参数的值。 $args 这个变量等于GET请求中的参数。例如,foo=123&bar=blahblah;这个变量只可以被修改 $binary_remote_addr 二进制码形式的客户端地址 $body_bytes_sent 传送页面的字节数 $content_length 请求头中的Content-length字段 $content_type 请求头中的Content-Type字段 $cookie_COOKIE cookie COOKIE的值 $document_root 当前请求在root指令中指定的...
Nginx 监控控制实验
Nginx 监控nginx 提供了 ngx_http_stub_status_module.这个模块提供了基本的监控功能 nginx的基础监控12- 进程监控- 端口监控 监控的指标1Accepts(接受)、Handled(已处理)、Requests(请求数)是一直在增加的计数器。Active(活跃)、Waiting(等待)、Reading(读)、Writing(写)随着请求量而增减 nginx Stub Status 监控模块安装先使用命令查看是否已经安装这个模块123# -V大写会显示版本号和模块等信息、v小写仅显示版本信息[root@localhost ~]# nginx -V 如果没有此模块,需要重新安装,编译命令如下123# 添加--with-http_stub_status_module模块./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --er...
安装Tomcat、JDK(java)实验
1、安装JDK上传jdk1.8到服务器,安装jdk 123[root@java-tomcat1 ~]# tar xzf jdk-8u191-linux-x64.tar.gz -C /usr/local/[root@java-tomcat1 ~]# cd /usr/local/[root@java-tomcat1 local]# mv jdk1.8.0_191/ java 设置环境变量: 1234[root@java-tomcat1 local]# vim /etc/profileJAVA_HOME=/usr/local/java #指定java安装目录PATH=$JAVA_HOME/bin:$PATH #用于指定java系统查找命令的路径export JAVA_HOME PATH #类的路径,在编译运行java程序时,如果有调用到其他类的时候,在classpath中寻找需要的类。 检测JDK是否安装成功: 12345[root@java-tomcat1 local]# source /etc/profile[root@java-tomcat1 local]# java -vers...
4层--DR模式--负载均衡实验
环境准备准备3台纯洁的虚拟机,2台web服务器 安装lvs管理软件1yum -y install ipvsadm 1234567程序包:ipvsadm(LVS管理工具)主程序:/usr/sbin/ipvsadm规则保存工具:/usr/sbin/ipvsadm-save > /path/to/file配置文件:/etc/sysconfig/ipvsadm-config LVS/DR 模式简介1DR模式的组网要求LVS和Real server在同一网段二层互通。因为LVS DR模式在负载均衡转发报文时,只修改目的mac为real server的mac,lvs要能将报文转发给real server,就必须满足LVS和real server是同网段二层互通。 实验说明 网络使用NAT模式 DR模式要求Director DIP 和所有RealServer RIP必须在同一个网段及广播域 1. 关闭防火墙12[root@lvs-server ~]# systemctl stop firewalld[root@lvs-server ~]# setenforce 0...
RabbiMQ集群部署
普通集群准备环境注意,这⾥三台服务器都关闭防火墙和selinux 123192.168.50.138 rabbitmq-1192.168.50.139 rabbitmq-2192.168.50.140 rabbitmq-3 三台机器都操作: 1、配置hosts⽂件更改三台MQ节点的计算机名分别为rabbitmq-1、rabbitmq-2 和rabbitmq-3,然后修改hosts配置⽂件 1234567891011[root@rabbitmq-1 ~]# vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.50.138 rabbitmq-1192.168.50.139 rabbitmq-2192.168.50.140 rabbitmq-3# 主机的名字也要改了,不然后面命令匹配...













