Nginx 会话保持
nginx 会话保持nginx会话保持主要有以下几种实现方式: 1、ip_hash 12345ip_hash使用源地址哈希算法,将同一客户端的请求总是发往同一个后端服务器,除非该服务器不可用。ip_hash简单易用,但有如下问题:当后端服务器宕机后,session会丢失;来自同一局域网的客户端会被转发到同一个后端服务器,可能导致负载失衡; 示例 123456upstream backend { ip_hash; server backend1.example.com; server backend2.example.com; server backend3.example.com down;} 2、sticky_cookie_insert—而是基于cookie实现 使用sticky_cookie_insert,这会让来自同一客户端的请求被传递到一组服务器的同一台服务器。与ip_hash不同之处在于,它不是基于IP来判断客户端的,而是基于cookie来判断。(需要引入第三方模块才能实现)—sticky模块。因此可以避免上述ip_has...
Nginx 实现动静分离实验
nginx 实现动静分离准备环境 准备3台机器,一个nginx代理 两个http 分别处理动态和静态 expires功能说明 1当nginx设置了expires后,例如设置为:expires 10d; 那么用户在10天内请求的时候,都只会访问浏览器中的缓存,而不会去请求nginx。 1、静态资源配置12345678910server { listen 80; server_name localhost; location ~ \.(html|jpg|png|js|css) { root /home/www/nginx; expires 1d; #为客户端设置静态资源缓存时间 }} 测试 1234curl -I http://192.168.116.111/test.jpgHTTP/1.1 200 OK //显示200,代表成功# 也可以在网址访问:192.168.116.111/test.jpg 2、动态资源配置yum 安装php7...
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...













