Nginx

Nginx优点:

  • 跨平台,配置简单
  • 非阻塞,高并发连接(最高5W)
  • 内存消耗小
  • 开源
  • 稳定性高

基本命令:

  • 启动 nginx.exe
  • 停止 nginx -s stop 或者 nginx -s quit
  • 重载配置 nginx -s reload
  • 查看版本 nginx -V

当访问192.168.0.1时出现“welcome to openresty”。如果想显示为“hello word”,则需要修改配置文件nginx.conf:

location / {
	# root html;
	# index index.html index.htm;
	
	default_type text/html;   # 编码
	content_by_lua_block{
		ngx.say("hello world")   # 嵌入lua代码/脚本
		
		# 也可以使用content_by_lua_file filepath嵌入lua脚本文件
	}
}

获取HTTP请求信息:

获取uri参数:

-- 获取get请求参数
local arg=nginx.req.get_uri_args()   -- 数组
for k,v in pairs(arg) do
    ngx.say(k, v)    # 循环打印数组
end

-- 获取post请求时,请求参数
ngx.req.read_body()   -- 解析body参数之前一定要先读取body
local arg=nginx.req.get_post_args()
for k,v in pairs(arg) do
    ngx.say(k, v)    # 循环打印数组
end

获取header

local header=ngx.req.get_headers()
for k,v in pairs(arg) do
    ngx.say(k, v)    # 循环打印数组
    ngx.say("<br>")
end

获取body

local data=ngx.req.get_body_data()
ngx.say(data)

OpenResty的目标是让web服务直接跑在Nginx服务内部,充分利用Nginx的非阻塞I/O模型,不仅对HTTP客户端请求,甚至于对远程后端,诸如MySQL,Redis等都进行一致的高性能响应。

常用架构:

  1. 负载均衡

  2. 单机闭环

    所有想要的数据都能从本地直接获取,在大多数时候无需通过网络去其他服务器获取。通过Lua程序直接访问文件系统和数据库。
    在这里插入图片描述

  3. 分布式闭环

    单机闭环会遇到两个问题:

    • 数据不一致问题(比如没有采用主从架构导致不同服务器数据不一致)
    • 遇到存储瓶颈(磁盘或者内存不够)

    解决数据不一致问题比较好的办法是采用主从或者分布式集中存储而存储瓶颈需要进行按照业务进行分片,将数据分散到多台服务器。

    在这里插入图片描述

  4. 接入网关

    接入网关又可以叫做接入层,及接收到流量的入口。在入口可以:
    在这里插入图片描述

Lua数据类型:

Lua 是动态类型语言,变量不要类型定义,只需要为变量赋值。 值可以存储在变量中,作为参数传递或结果返回。

Lua 中有 8 个基本类型分别为:nil、boolean、number、string、userdata、function、thread 和 table。

在这里插入图片描述

Lua变量有三种类型:全局变量,局部变量,表中的域。

Lua中的变量都是全局变量,包括语句块或者函数里的变量。除非用local显式声明为局部变量。

function fun()
	a = 10
	local b = 20
end

fun()

print(a, b)    -- 10, nil

条件运算:

-- if语句
if()
then
    print("hello world")
else
    print("222")
end

-- if嵌套
if()
then
    if()
    then
        print("22")
    end
end

循环语句

-- while循环
a = 10
while(a>10)
do
    print(a)
    a = a-1
end

-- repeat until	 重复执行循环,直到 指定的条件为真时为止
b = 10
repeat
    print(b)
    b = b-1
until(b<1)

-- for循环
for a = 1,10,2 do  
    print(a)        --1,3,5,7,9
end  

函数

function fun(a,b,c)
    return a+b+c
end

value = fun(1,2,3)
print(value)

引入模块

require "module"

print(module.sum(10,20))

更多笔记:
https://www.cnblogs.com/crazymakercircle/p/17052040.html#autoid-h2-0-0-0

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值