宁波做网站 主觉文化,免费网络密码,设计网站推荐 zoo,校园网二手书交易网站建设OpenResty 是一个基于 Nginx 的 Web 平台#xff0c;它将 Nginx 和 Lua 脚本语言结合起来#xff0c;提供了更强大的 Web 应用开发和部署能力。OpenResty 仓库是 OpenResty 项目的官方仓库#xff0c;包含了 OpenResty 的源代码、文档、示例等资源。
OpenResty 仓库地址是它将 Nginx 和 Lua 脚本语言结合起来提供了更强大的 Web 应用开发和部署能力。OpenResty 仓库是 OpenResty 项目的官方仓库包含了 OpenResty 的源代码、文档、示例等资源。
OpenResty 仓库地址是https://openresty.org/cn/
在 OpenResty 仓库中可以找到以下资源
源代码OpenResty 的源代码包含了 Nginx 的核心代码和 Lua 脚本语言的扩展功能可以通过下载源代码进行编译和安装。
文档OpenResty 提供了详细的文档包括安装说明、配置说明、使用示例等可以帮助开发人员快速上手和使用 OpenResty。
示例OpenResty 提供了丰富的示例代码可以帮助开发人员学习如何使用 Nginx 和 Lua 脚本语言构建 Web 应用。
社区支持OpenResty 拥有庞大的社区支持开发人员可以通过参与社区讨论和提交 Bug 报告来获取帮助和支持。
1.安装
首先你的Linux虚拟机必须联网
1安装开发库
首先要安装OpenResty的依赖开发库执行命令
yum install -y pcre-devel openssl-devel gcc --skip-broken2安装OpenResty仓库
你可以在你的 CentOS 系统中添加 openresty 仓库这样就可以便于未来安装或更新我们的软件包通过 yum check-update 命令。运行下面的命令就可以添加我们的仓库
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo如果提示说命令不存在则运行
yum install -y yum-utils 然后再重复上面的命令
3安装OpenResty
然后就可以像下面这样安装软件包比如 openresty
yum install -y openresty4安装opm工具
opm是OpenResty的一个管理工具可以帮助我们安装一个第三方的Lua模块。
如果你想安装命令行工具 opm那么可以像下面这样安装 openresty-opm 包
yum install -y openresty-opm5目录结构
默认情况下OpenResty安装的目录是/usr/local/openresty 看到里面的nginx目录了吗OpenResty就是在Nginx基础上集成了一些Lua模块。
6配置nginx的环境变量
打开配置文件
vi /etc/profile在最下面加入两行
export NGINX_HOME/usr/local/openresty/nginx
export PATH${NGINX_HOME}/sbin:$PATHNGINX_HOME后面是OpenResty安装目录下的nginx的目录
然后让配置生效
source /etc/profile2.启动和运行
OpenResty底层是基于Nginx的查看OpenResty目录的nginx目录结构与windows中安装的nginx基本一致 所以运行方式与nginx基本一致
# 启动nginx
nginx
# 重新加载配置
nginx -s reload
# 停止
nginx -s stopnginx的默认配置文件注释太多影响后续我们的编辑这里将nginx.conf中的注释部分删除保留有效部分。
修改/usr/local/openresty/nginx/conf/nginx.conf文件内容如下
#user nobody;
worker_processes 1;
error_log logs/error.log;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 8081;server_name localhost;location / {root html;index index.html index.htm;}error_page 500 502 503 504 /50x.html;location /50x.html {root html;}}
}在Linux的控制台输入命令以启动nginx
nginx然后访问页面http://192.168.150.101:8081注意ip地址替换为你自己的虚拟机IP
3.备注
加载OpenResty的lua模块
#lua 模块
lua_package_path /usr/local/openresty/lualib/?.lua;;;
#c模块
lua_package_cpath /usr/local/openresty/lualib/?.so;;; common.lua
-- 封装函数发送http请求并解析响应
local function read_http(path, params)local resp ngx.location.capture(path,{method ngx.HTTP_GET,args params,})if not resp then-- 记录错误信息返回404ngx.log(ngx.ERR, http not found, path: , path , , args: , args)ngx.exit(404)endreturn resp.body
end
-- 将方法导出
local _M { read_http read_http
}
return _M释放Redis连接API
-- 关闭redis连接的工具方法其实是放入连接池
local function close_redis(red)local pool_max_idle_time 10000 -- 连接的空闲时间单位是毫秒local pool_size 100 --连接池大小local ok, err red:set_keepalive(pool_max_idle_time, pool_size)if not ok thenngx.log(ngx.ERR, 放入redis连接池失败: , err)end
end读取Redis数据的API
-- 查询redis的方法 ip和port是redis地址key是查询的key
local function read_redis(ip, port, key)-- 获取一个连接local ok, err red:connect(ip, port)if not ok thenngx.log(ngx.ERR, 连接redis失败 : , err)return nilend-- 查询redislocal resp, err red:get(key)-- 查询失败处理if not resp thenngx.log(ngx.ERR, 查询Redis失败: , err, , key , key)end--得到的数据为空处理if resp ngx.null thenresp nilngx.log(ngx.ERR, 查询Redis数据为空, key , key)endclose_redis(red)return resp
end开启共享词典
# 共享字典也就是本地缓存名称叫做item_cache大小150m
lua_shared_dict item_cache 150m;