网站首页 > 技术教程 正文
前言
在互联网项目中,某些页面(如首页、热门资讯页等)可能会面临大量的用户访问请求。这些请求如果都通过动态生成的方式来处理,会对服务器造成巨大的压力,并可能导致响应速度变慢。
通过openresty 模板引擎lua-resty-template实现 页面静态化,将这些频繁访问的页面提前生成静态HTML文件,并部署在静态资源服务器上当用户访问这些页面时,可以直接从静态资源服务器获取内容,而无需经过复杂的动态生成过程。这样可以显著提高响应速度,并减轻服务器的压力。
实践
1. 商品详情模版
2. Lua 脚本(处理商品详情的静态化)
-- /usr/local/openresty/script/product_detail.lua
local product_id = ngx.var.product_id
local cache_key = "product_detail_" .. product_id
local product_detail = ngx.shared.product_cache:get(cache_key)
if product_detail then
-- 缓存命中,直接返回静态化内容
ngx.say(product_detail)
return
end
-- 缓存未命中,请求后端服务获取数据
local backend_url = "http://backend-service/dynamic?product_id=" .. product_id
local res = ngx.location.capture(backend_url)
if res.status == 200 then
-- 获取数据成功,生成静态内容并缓存
local static_content = res.body
ngx.shared.product_cache:set(cache_key, static_content, 300) -- 缓存5分钟
ngx.say(static_content)
else
-- 后端服务未找到数据,返回错误
ngx.status = ngx.HTTP_NOT_FOUND
ngx.say("Product not found")
end
3 访问配置
location /product {
-- 将参数id 赋值给变量product_id
set $product_id $arg_id;
content_by_lua_file /usr/local/openresty/script/product_detail.lua;
}
4 可以设置NGINX混存
lua_shared_dict product_cache 10m;
5 访问商品详情
http://server.com/product?id=123
6 结果
最后
希望大家在工作中遇到高并发的场景,尽可能的将页面静态化,增加响应速度。
猜你喜欢
- 2024-10-12 Vue初学习之Nginx 部署(vue cli nginx)
- 2024-10-12 Freemark页面静态化(freemarker静态化页面)
- 2024-10-12 docker随手笔记第十二节 jenkins+docker+nginx+纯静态页面配置
- 2024-09-22 静态图片网站自动转Jpg,Png图像为Webp
- 2024-09-22 静态网站生成工具-hugo(静态网站生成工具)
- 2024-09-22 Nginx部署Vue项目以及解决刷新页面404
- 2024-09-22 centons7下安装nginx,让你拥有自己的网站,包含下载地址
- 2024-09-22 强烈推荐一个非常好的 NGINX WEB UI 可视化用户界面
- 2024-09-22 如何正确地设置 WordPress 伪静态规则
- 2024-09-22 你有空吗?跟我一起搭个服务器好不好?
你 发表评论:
欢迎- 08-06linux 和 windows文件格式互相转换
- 08-06谷歌 ChromeOS 已支持 7z、iso、tar 文件格式
- 08-06Linux下比较文件内容的6种方法
- 08-06文件格式及功能汇总
- 08-0610个Linux文件内容查看命令的实用示例
- 08-06Linux-如何区分不同文件类型
- 08-06Zabbix技术分享——监控windows进程资源使用情况
- 08-06Linux系统卡顿?学会ps命令这三招,轻松定位问题进程
- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)