openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/usr/local/src [root@node5 src]# wget http://nginx.org/download/nginx-1.13.0.tar.gztar xf nginx-1.13.0.tar.gz cd nginx-1.13.0./configure --prefix=/usr/l…
openresty开发系列10--openresty的简单介绍及安装 一.Nginx优点 十几年前,互联网没有这么火,软件外包开发,信息化建设,帮助企业做无纸化办公,收银系统,工厂erp,c/s架构偏多 Nginx设计为一个主进程多个工作进程的工作模式,每个进程是单线程来处理多个连接,而且每个工作进程采用了非阻塞I/O来处理多个连接,从而减少了线程上下文切换,从而实现了公认的高性能.高并发;因此在生成环境中会通过把CPU绑定给Nginx工作进程从而提升其性能;另外因为单线程工作模式的特点,内存占…
openresty开发系列40--nginx+lua实现获取客户端ip所在的国家信息 为了实现业务系统针对不同地区IP访问,展示包含不同地区信息的业务交互界面.很多情况下系统需要根据用户访问的IP信息,判断用户可能的访问区域,针对不同的区域提供个性化的服务内容.本方案在CentOS7.6环境下基于高性能的Openresty1.13.6.1来实现. 方案介绍 要通过IP地址确认归属地,通常可以使用一些在线查询服务来实现,但使用在线服务查询潜在存在性能问题,同时通过lua来访问外部服务增加额外的代码…
openresty开发系列38--通过Lua+Redis 实现动态封禁IP 一)需求背景为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的 IP 黑名单.对于黑名单之内的 IP ,拒绝提供服务. 二)设计方案实现 IP 黑名单的功能有很多途径:1.在操作系统层面,配置 iptables,拒绝指定 IP 的网络请求:2.在 Web Server 层面,通过 Nginx 自身的 deny 选项 或者 lua 插件 配置 IP 黑名单:3.在应用层面,在请求服务之前检查一遍客户端 IP…
openresty开发系列30--openresty中使用全局缓存 Nginx全局内存---本地缓存 使用过如Java的朋友可能知道如Ehcache等这种进程内本地缓存.Nginx是一个Master进程多个Worker进程的工作方式,因此我们可能需要在多个Worker进程中共享数据. 使用ngx.shared.DICT来实现全局内存共享. 一)首先在nginx.conf的http部分分配内存大小 语法:lua_shared_dict <name> <size> 该命令主要是定义一块…
openresty开发系列28--openresty中操作mysql Mysql客户端   应用中最常使用的就是数据库了,尤其mysql数据库,那openresty lua如何操作mysql呢?   默认安装OpenResty时已经自带了该模块. 案例,mysql数据库的常用操作,编辑testmysql.lua # centos7中安装mariadb# yum install -y mariadb-server mariadb# systemctl start mariadb-server# 设…
openresty开发系列24--openresty中lua的引入及使用 openresty 引入 lua 一)openresty中nginx引入lua方式 1)xxx_by_lua   --->字符串编写方式  2) xxx_by_lua_block ---->代码块方式  3) xxx_by_lua_file  ---->直接引用一个lua脚本文件 我们案例中使用内容处理阶段,用content_by_lua演示 -----------------编辑nginx.conf-------…
openresty开发系列11--openresty的api入门 1)ngx_lua模块的hello world编辑nginx下conf配置文件nginx.conf# vi nginx.conf在server模块加上location /helloworld {    default_type text/html;    content_by_lua 'ngx.say("hello world")';} 检查配置文件是否正确# /usr/local/openresty/nginx/sbi…
openresty开发系列4--nginx的配置文件说明 Nginx基本配置 Nginx的主配置文件是:nginx.conf,nginx.conf主要组成如下: # 全局区   有一个工作子进程,一般设置为CPU数 * 核数worker_processes  1; events {    # 一般是配置nginx进程与连接的特性    # 如1个word能同时允许多少连接,一个子进程最大允许连接1024个连接     worker_connections  1024;} # 配置HTTP服务器配…
openresty开发系列37--nginx-lua-redis实现访问频率控制 一)需求背景 在高并发场景下为了防止某个访问ip访问的频率过高,有时候会需要控制用户的访问频次在openresty中,可以找到:set_by_lua,rewrite_by_lua,access_by_lua,content_by_lua等方法.那么访问控制应该是,access阶段.我们用Nginx+Lua+Redis来做访问限制主要是考虑到高并发环境下快速访问控制的需求. 二)设计方案 我们用redis的key表示…