openresty

OpenResty--------核心执行阶段篇

耗尽温柔 提交于 2019-12-06 12:52:30
前言 前两篇分别介绍了OpenResty核心概念和,优势与架构等信息,进行本篇之前建议至少观看一遍。 OpenResty--------企业级理论实践篇 OpenResty--------企业级入门实践篇 背景 之前篇章介绍了OpenResty是基于Nginx为基础核心的开发平台, 本篇将继续介绍基础平台(Nginx)的主要特性。 特性 执行阶段 OpenResty将应用分为4个大阶段,11个小阶段,如下图所示。 初始化阶段: master进程启动预加载/生成worker进程预加载 转发/访问阶段:url转发,权限判断 内容处理/生成阶段: 内容生成 日志阶段: 日志记录 开发中常用的7阶段 set_by_lua*: 流程分支处理判断变量初始化 rewrite_by_lua*: 转发、重定向、缓存等功能(例如特定请求代理到外网) access_by_lua*: IP 准入、接口权限等情况集中处理(例如配合 iptable 完成简单防火墙) content_by_lua*: 内容生成 header_filter_by_lua*: 响应头部过滤处理(例如添加头部信息) body_filter_by_lua*: 响应体过滤处理(例如完成应答内容统一成大写) log_by_lua*: 会话完成后本地异步完成日志记录(日志可以记录在本地,还可以同步到其他机器) 测试[常用的7阶段] 环境

nginx 安装 lua_nginx_module 模块(nginx——lua 学习笔记1)

限于喜欢 提交于 2019-12-06 07:41:17
插入两个网站:    nginx + lua 的OpenResty 开发    跟我学OpenResty(Nginx+Lua)开发目录贴   两个都是 可以根据目录一步步学习的。 1. 版本下载 nginx版本为 nginx-1.10.3 , http://nginx.org/en/download.html 下载nginx 版本,不要高版本的,编译lua模块会有错误,暂时不知道原因。 放一个目录。 /home/test/ lua_nginx_module模块版本 lua-nginx-module-0.10.2, https://github.com/openresty/lua-nginx-module/tags 不安装 cd /usr/local/src wget https://github.com/openresty/lua-nginx-module/archive/v0.10.2.tar.gz tar -xzvf v0.10.2.tar.gz ngx_devel_kit 版本 ngx_devel_kit-0.2.19, https://github.com/simpl/ngx_devel_kit/tags 不安装 cd /usr/local/src wget https://github.com/simpl/ngx_devel_kit/archive/v0.2.19.tar

个推基于Docker和Kubernetes的微服务实践

▼魔方 西西 提交于 2019-12-06 06:03:59
2016年伊始Docker无比兴盛,如今Kubernetes万人瞩目。在这个无比需要创新与速度的时代,由容器、微服务、DevOps构成的云原生席卷整个IT界。个推 针对Web服务场景,基于OpenResty和Node.js搭建了微服务框架,提高了开发效率 。在微服务的基础上,我们结合Docker实现了容器化,并采用Consul进行服务注册及发现。同时,面对日渐增多的微服务和配置,我们采用了Kubernetes来实现容器编排。 一、微服务化 01 微服务架构 -微服务框架- 微服务是将 单一的应用程序拆分成多个微小的服务,各个小服务之间松耦合,高内聚 ,每个小的服务可以单独进行开发,不依赖于具体的编程语言,也可以使用不同的数据存储技术,各个服务可以独立部署,拥有各自的进程,相互之间通过轻量化的机制进行通信(如基于http的API接口),所有的服务共同实现具体的业务功能。 -微服务客户端与服务端通信方式- 客户端与服务端通信有2种方式,第一种是 客户端直接与各个微服务进行通信 ,这样的架构有4个缺点: (1)多次服务请求,效率低; (2)对外暴露服务接口; (3)接口协议无法统一; (4)客户端代码复杂,服务端升级困难。 第二种方式是 由API网关统一代理各个服务,对外提供统一的接口协议 ,该架构有3个优势: (1)封装服务接口细节,减少通信次数; (2)统一通信协议

利用开源软件自建WAF系统--OpenResty+unixhot

大兔子大兔子 提交于 2019-12-06 02:48:49
目录 介绍 安装Openresty 修改nginx.conf 部署WAF 测试WAF 简介:利用OpenResty+unixhot自建WAF系统 介绍   OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。   OpenResty通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。   OpenResty的目标是让你的Web服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都进行一致的高性能响应。 安装Openresty 以CentOS7.5为例 1.安装命令如下 yum install yum-utils -y yum-config-manager

Kong 安装

眉间皱痕 提交于 2019-12-05 22:21:52
目录 Installation 使用数据库 Configuration Kong Run 【官方链接】 https://docs.konghq.com/install 【Packages】 GPI: https://kong.bintray.com/kong-rpm/centos/7/ Community: https://kong.bintray.com/kong-community-edition-rpm/centos/7/ Installation yum install epel-release yum install https://kong.bintray.com/kong-community-edition-rpm/centos/7/kong-community-edition-1.1.2.el7.noarch.rpm --nogpgcheck whereis kong # [output] kong: /etc/kong /usr/local/bin/kong /usr/local/kong 如上,/ect/kong目录为配置文件目录,安装后会有一个官方的默认配置文件kong.conf.default 复制这个文件为kong.conf即可启动Kong. /usr/local/kong为Kong的运行目录,Kong启动后会生成nginx的配置文件放在此目录

在 OS X 中使用 OpenResty

核能气质少年 提交于 2019-12-05 09:12:12
1. 移除 lighttpd 在 Mac OS X 上安装lighttpd 的时候,我使用 launchctl 来实现 lighttpd 的自动启动。现在,只需要 unload 即可。 launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.lighttpd.plist 这会立即停止 lighttpd 的运行。接下来,将 homebrew.mxcl.lighttpd.plist 从~/Library/LanuchAgents 目录中移除。否则下次启动系统的时候,lighttpd 又会启动。 2. 配置 OpenResty 环境 2.1 编译和安装 OpenResty 的编译和安装流程,在官网上讲得很清楚,我不再赘述。 在这里我假设 OpenResty 已经安装到默认路径 /usr/local/openresty 。 修改 /usr/local/openresty/nginx/conf/nginx.conf ,将其中的 server 段下的listen 80 改为 listen 8080 。 这是因为 80 端口只能被 root 用户启动。而在本文中我们是使用当前用户启动 nginx 的。 如果 8080 端口也被占用,请自行换成可用端口。 2.2 创建 plist 文件 launchctl 依赖一个 plist 配置文件来工作

docker搭建kong网关&konga

不羁岁月 提交于 2019-12-05 07:03:33
简介 Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用、易扩展的,由Mashape公司开源的API Gateway项目。Kong是基于NGINX和Apache Cassandra或PostgreSQL构建的,能提供易于使用的RESTful API来操作和配置API管理系统,所以它可以水平扩展多个Kong服务器,通过前置的负载均衡配置把请求均匀地分发到各个Server,来应对大批量的网络请求。 详情查看: https://blog.csdn.net/garyond/article/details/81318772 1.安装postgres数据库 docker run -d --name kong-database \ -v /data/postgres/data:/var/lib/postgresql/data \ -p 5432 : 5432 \ -e "POSTGRES_USER=kong" \ -e "POSTGRES_DB=kong" \ -e "POSTGRES_PASSWORD=kong" \ postgres: 9.6 2.数据库初始化 docker run --rm \ --link=kong-database \ -e "KONG_DATABASE=postgres" \ -e "KONG_PG_HOST=kong-database"

docker unit test setup

梦想的初衷 提交于 2019-12-05 06:53:46
I want to setup a unit test environment for my product. I have a web application build on nginx in Lua which use mysql and redis. I think docker will be good for this although i am new to docker . My application runs on centos server (production server). I am planning to setup different container for mysql,redis and webapp and then write UT application (unit test for Lua using Busted framework) in my mac (My development machine is MAC) or VM to test it. The UT application will talk to docker container nginx and nginx will use container mysql and redis. Is this good ? If yes ,can someone guide

编译安装openresty+mariadb+php7

徘徊边缘 提交于 2019-12-05 04:43:16
1.准备 1.更新系统 yum makecache && yum -y update 2.安装常用基础软件 yum -y install bash -completion vim net -tools bind -utils wget screen 最后别忘了重启 3.需要下载的源码 1.openresty wget https://openresty .org /download/ngx_openresty- 1.9 .7 .1 .tar .gz 2.mariaDB wget http://sfo1 .mirrors .digitalocean .com /mariadb/mariadb- 5.5 .47 /source/mariadb- 5.5 .47 .tar .gz 3.php7 wget -c -- no -check -certificate -O php7 -src -master . zip https: //github.com/php/php-src/archive/master.zip 2.openresty 1.依赖关系 openresty依赖于perl 5.6.1+, libreadline, libpcre, libssl,首先安装依赖关系。 yum install readline -devel pcre -devel openssl -devel

openresty 实现项目的灰度发布

时光怂恿深爱的人放手 提交于 2019-12-04 14:21:23
1、安装 openresty 依赖模块: [root@Centos opt]# yum -y install pcre-devel openssl openssl-devel postgresql-devel 2、编译安装 openresty: [root@Centos opt]# tar -zxvf openresty-1.15.8.2.tar.gz ...(略去内容)... [root@Centos opt]# cd openresty-1.15.8.2/ [root@Centos openresty-1.15.8.2]# ll 总用量 112 drwxrwxr-x. 47 hacker 1003 4096 11月 12 23:35 build drwxrwxr-x. 46 hacker 1003 4096 8月 29 13:33 bundle -rwxrwxr-x. 1 hacker 1003 52432 8月 29 13:32 configure -rw-rw-r--. 1 hacker 1003 22924 8月 29 13:32 COPYRIGHT -rw-r--r--. 1 root root 5980 11月 12 23:36 Makefile drwxrwxr-x. 2 hacker 1003 203 8月 29 13:32 patches -rw-rw-r--.