当前位置: 首页 > news >正文

广州注册公司网上申请入口seo免费推广软件

广州注册公司网上申请入口,seo免费推广软件,wordpress 剪切板图片自动上传,南通智能模板建站文章目录一. OpenResty是什么二. OpenResty的安装1. 安装开发库2. 安装OpenResty仓库3. 安装OpenResty4. 安装opm工具5. 目录结构6. 配置nginx的环境变量7. 启动和运行8. 配置文件修改三. 小案例1. 案例说明2. OpenResty监听请求3. 编写业务代码4. 获取请求参数一. OpenResty是…

文章目录

  • 一. OpenResty是什么
  • 二. OpenResty的安装
      • 1. 安装开发库
      • 2. 安装OpenResty仓库
      • 3. 安装OpenResty
      • 4. 安装opm工具
      • 5. 目录结构
      • 6. 配置nginx的环境变量
      • 7. 启动和运行
      • 8. 配置文件修改
  • 三. 小案例
      • 1. 案例说明
      • 2. OpenResty监听请求
      • 3. 编写业务代码
      • 4. 获取请求参数


一. OpenResty是什么

OpenResty® 是一个基于 Nginx的高性能 Web 平台,用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。具备下列特点:

  • 具备Nginx的完整功能
  • 基于Lua语言进行扩展,集成了大量精良的 Lua 库、第三方模块
  • 允许使用Lua自定义业务逻辑自定义库

官方网站:点击跳转
请添加图片描述
关于Lua的基础语法可以参考小编的这篇文章:点击跳转

二. OpenResty的安装

1. 安装开发库

首先要安装OpenResty的依赖开发库,执行命令:

yum install -y pcre-devel openssl-devel gcc --skip-broken

2. 安装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 openresty

4. 安装opm工具

opm是OpenResty的一个管理工具,可以帮助我们安装一个第三方的Lua模块。
如果你想安装命令行工具 opm,那么可以像下面这样安装 openresty-opm 包:

yum install -y openresty-opm

5. 目录结构

默认情况下,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:$PATH

NGINX_HOME:后面是OpenResty安装目录下的nginx的目录
然后让配置生效:

source /etc/profile

7. 启动和运行

OpenResty底层是基于Nginx的,查看OpenResty目录的nginx目录,结构与windows中安装的nginx基本一致:
请添加图片描述
所以运行方式与nginx基本一致:

# 启动nginx
nginx
# 重新加载配置
nginx -s reload
# 停止
nginx -s stop

8. 配置文件修改

nginx的默认配置文件注释太多,影响后续我们的编辑,这里将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

三. 小案例

1. 案例说明

现在,商品详情页使用的是假的商品数据。不过在浏览器中,可以看到页面有发起ajax请求查询真实商品数据。
这个请求如下:
请添加图片描述
请求地址是localhost,端口是80,就被windows上安装的Nginx服务给接收到了。然后代理给了OpenResty集群:
请添加图片描述
我们需要在OpenResty中编写业务,查询商品数据并返回到浏览器。
但是这次,我们先在OpenResty接收请求,返回假的商品数据。

2. OpenResty监听请求

OpenResty的很多功能都依赖于其目录下的Lua库,需要在nginx.conf中指定依赖库的目录,并导入依赖:
1.添加对OpenResty的Lua模块的加载
修改/usr/local/openresty/nginx/conf/nginx.conf文件,在其中的http下面,添加下面代码:

#lua 模块
lua_package_path "/usr/local/openresty/lualib/?.lua;;";
#c模块     
lua_package_cpath "/usr/local/openresty/lualib/?.so;;";  

2.监听/api/item路径
修改/usr/local/openresty/nginx/conf/nginx.conf文件,在nginx.conf的server下面,添加对/api/item这个路径的监听:

location  /api/item {# 默认的响应类型default_type application/json;# 响应结果由lua/item.lua文件来决定content_by_lua_file lua/item.lua;
}

这个监听,就类似于SpringMVC中的@GetMapping("/api/item")做路径映射。
content_by_lua_file lua/item.lua则相当于调用item.lua这个文件,执行其中的业务,把结果返回给用户。相当于java中调用service。

3. 编写业务代码

/usr/loca/openresty/nginx目录创建文件夹:lua
请添加图片描述
/usr/loca/openresty/nginx/lua文件夹下,新建文件:item.lua
请添加图片描述
编写item.lua,返回假数据
item.lua中,利用ngx.say()函数返回数据到Response中

ngx.say('{"id":10001,"name":"SALSA AIR","title":"RIMOWA 21寸托运箱拉杆箱 SALSA AIR系列果绿色 820.70.36.4","price":17900,"image":"https://m.360buyimg.com/mobilecms/s720x720_jfs/t6934/364/1195375010/84676/e9f2c55f/597ece38N0ddcbc77.jpg!q70.jpg.webp","category":"拉杆箱","brand":"RIMOWA","spec":"","status":1,"createTime":"2019-04-30T16:00:00.000+00:00","updateTime":"2019-04-30T16:00:00.000+00:00","stock":2999,"sold":31290}')

4.重新加载配置

nginx

4. 获取请求参数

OpenResty中提供了一些API用来获取不同类型的前端请求参数:
请添加图片描述

在前端发起的ajax请求如图:
请添加图片描述
可以看到商品id是以路径占位符方式传递的,因此可以利用正则表达式匹配的方式来获取ID
1.获取商品id

修改/usr/loca/openresty/nginx/nginx.conf文件中监听/api/item的代码,利用正则表达式获取ID:

location ~ /api/item/(\d+) {# 默认的响应类型default_type application/json;# 响应结果由lua/item.lua文件来决定content_by_lua_file lua/item.lua;
}

注意:这个~代表的意思就是后面跟的是正则表达式最后使用分组的方式获取传递过来的参数
2.拼接ID并返回
修改/usr/loca/openresty/nginx/lua/item.lua文件,获取id并拼接到结果中返回:

-- 获取商品id
local id = ngx.var[1]
-- 拼接并返回
ngx.say('{"id":' .. id .. ',"name":"SALSA AIR","title":"RIMOWA 21寸托运箱拉杆箱 SALSA AIR系列果绿色 820.70.36.4","price":17900,"image":"https://m.360buyimg.com/mobilecms/s720x720_jfs/t6934/364/1195375010/84676/e9f2c55f/597ece38N0ddcbc77.jpg!q70.jpg.webp","category":"拉杆箱","brand":"RIMOWA","spec":"","status":1,"createTime":"2019-04-30T16:00:00.000+00:00","updateTime":"2019-04-30T16:00:00.000+00:00","stock":2999,"sold":31290}')

3.重新加载并测试

运行命令以重新加载OpenResty配置:

nginx -s reload

刷新页面可以看到结果中已经带上了ID:
请添加图片描述

http://www.yayakq.cn/news/207401/

相关文章:

  • 张家界企业网站制作营销推广网站建设
  • 石家庄住房和城乡建设局官方网站vue做购物网站
  • 大连精美网站制作网站建设案例机构
  • 游戏网站模板装修123网
  • 设计实例网站做简单网站需要学什么软件有哪些
  • 自己做内部网站58这种网站怎么做
  • 定制网站大概多少钱wordpress添加icon
  • 网站公司推荐台式服务器怎么做网站
  • 黑龙江建设网网站thinkphp微网站开发
  • 装修推广网站哪个好自己做网站app
  • 做网站就业要会什么问题电子商城是什么意思
  • 佛山微网站建设天博怎么制作网页设计作业
  • 腾讯公司网站网站建设推销话术案例
  • 做网站驻马店wordpress添加本地视频
  • 性价比高的网站建设广告设计都学啥
  • wordpress获取文章id网站标题应该怎么做SEO优化
  • 美容院网站模板公司响应式网站建设平台
  • 喀什网站建设百度推广西安是哪个省属于哪个省
  • 旅游网站前台模板html制作一个网页
  • 泰国用什么网站做电商济南做网站最好的公司
  • 建设银行泰安培训中心官方网站做网站的英文
  • 成都网站建设与开发discuz 手机网站模板
  • 龙华龙岗网站建设公司电子商务前景如何
  • 乌海市建设工程网站it人才外包
  • 邮箱注册网站wordpress 团购插件
  • 电子商务网站建设策划书范文随州seo优化
  • 网站建设的看法有哪些网页设计与制作课程评价方案
  • 成都优化网站哪家公司好精通网站建设 100%全能建站密码pdf
  • 网站页面由什么构成北京分类信息网
  • 网站开发研究资料书籍网站建设添加汉语