基于Nginx的中间件架构 一:了解需求 1.定义Nginx在服务体系中的角色 1.静态资源服务 2.代理服务 3.动静分离 2.静态资源服务的功能设计 3.代理服务 二:设计评估 三:配置注意事项…
一.性能优化考虑点 1.当前系统结构瓶颈 通过压力测试观察指标.日志检测.性能分析 2.了解业务模式 接口业务类型.系统层次化结构 3.性能与安全 二.ab接口压力测试工具 1.安装:yum -y install httpd-tools 2.使用: ad -n 2000 -c 2 http://127.0.0.1-n:总的请求数-c:并发数-k:是否开始长连接 准备环境 检查语法,并重载nginx -tc /etc/nginx/nginx.conf nginx -s reload -c /etc…
Nginx+Lua开发环境 1.下载LuaJIT解释器wget http://luajit.org/download/LuaJIT-2.0.2.tar.gztar -zxvf LuaJIT-2.0.2.tar.gzcd LuaJIT-2.0.2make install PREFIX=/usr/local/LuaJIT /etc/profile 文件中加入环境变量export LUAJIT_LIB=/usr/local/LuaJIT/libexport LUAJIT_INC=/usr/local/…
Nginx+Lua的安全waf防火墙 看一下别人写好的:https://github.com/loveshell/ngx_lua_waf 先安装git:yum -y install git 在/opt/download下执行:git clone https://github.com/loveshell/ngx_lua_waf.git 这里如果不能克隆的话,手动下载再上传至服务器 把克隆下来的ngx_lua_waf下的所有文件,移到/etc/nginx/waf下 修改配置文件中的两个路径 wafc…
解释器 Lua:Lua是一个简洁.轻量.可扩展的脚本语言 Nginx+Lua优势充分的结合Nginx的并发处理epoll优势的Lua的轻量实现简单的功能切高并发的场景 安装Lua 1.安装解释器:yum install lua 2.运行 第一种运行方式: 第二种运行方式: Lua的基础语法 1.注释:--行注释--[[ 块注释 --]] 2.变量a = 'alo\n123"'a = "alo\n123""a = '\97lo\10\04923"'a = […
Nginx是一个开源且高性能.可靠的HTTP中间件.代理服务 常见的HTTP服务: HTTPD--Apache基金会 IIIS--微软 GWS--Google(不对外开放) Nginx优势: 一.IO多路复用epoll:类似于电路中的串联和并联的道理,这里是并联,即多线程 IO多路复用:多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这就叫I/O多路复用,这里的“复用”指的是复用同一个线程 IO多路复用的实现方式:select.poll.epoll select: 缺点: 1.能够监视…
1.常见的恶意行为:爬虫行为和恶意抓取.资源盗用 解决方案: 基础防盗链功能:不让恶意用户能轻易爬去网站对外数据 secure_link_module模块:对数据安全性提高,加密验证和失效性,适合核心重要数据 access_module模块:对后台.部分用户服务的数据提供IP防控 2.常见的应用层攻击手段 1.后台密码撞库:通过猜测密码字典不断对后台系统登录性尝试,获取后台登录密码 解决方案: 1.加强后台登录密码的复杂度 2.access_module模块:对后台提供IP防控 3.预警机制,如…
一.HTTPS原理和作用: 1.为什么需要HTTPS?原因:HTTP不安全1.传输数据被中间人盗用.信息泄露2.数据内容劫持.篡改 2.HTTPS协议的实现对传输内容进行加密以及身份验证 对称加密:加密秘钥和解密秘钥是对等的,一样的 非对称加密: HTTPS加密协议原理: 中间人伪造客户端和服务端: HTTPS的CA签名证书: 二.证书签名生成CA证书 先确认环境:已经安装openssl和nginx已经编译ssl的模块 生成秘钥和CA证书步骤: 步骤1.生成key秘钥 步骤2.生成证书签名请求文…
Nginx常见的问题 1.相同server_name多个虚拟主机优先级访问,是按读取文件的优先级来排序 在/opt/app/下准备3个code文件夹,下面放入3个html文件,里面的内容分别是code1下对应server1... 在/etc/nginx/conf.d/下准备了3个conf文件 diff看一下区别,server1就指定code1... 检查语法,并重载nginx -tc /etc/nginx/nginx.conf nginx -s reload -c /etc/nginx/ngin…
实战场景 - 灰度发布 灰度发布的作用:按照一定的关系区别,分部分的代码进行上线,使代码的发布能平滑过渡上线实现方式: 1.用户的信息cookie等信息区别 2.根据用户的IP地址 安装memcached:yum -y install memcached 准备好两个tomcat,9090代表生产环境,8080代表预发布环境 为避免冲突,修改tomcat9090的端口号 这里分别在同个tomcat/webapp/ROOT/下放了同样内容的jsp文件 把8080下的jsp问价内容改一下区别于9090…