首页 > 其他分享 >电商项目-网站首页高可用(一)

电商项目-网站首页高可用(一)

时间:2024-12-23 23:34:37浏览次数:4  
标签:nginx -- lua 可用 Lua 首页 openresty 服务器 电商

  一、Nginx简介
  Nginx 是一个高性能的http服务器。一个单机的tomcat,理论上最多只能承载500个并发,对于首页来说用户的访问频率高,因此并发量大,一个单机tomcat 无法承受网站首页的并发访问量,最终导致当前服务的崩溃。对于一个tomcat 集群来说,集群内部最多只能有5台tomcat 服务器,如果超过5台服务器,继续增加的话,对于当前这个tomcat集群性能来说,它是不升反降的。

  因此对于服务器的选型,可以采用Nginx服务器,一台Nginx服务器在理论的情况下 能够承载50000的并发,性能是非常好的。Nginx除了可以作为http服务器,还可以反向代理服务器,负载均衡服务器。

  nginx作为负载均衡器使用可以接收所有请求, 并将请求分发给tomcat集群服务器。

  nginx作为反向代理服务器使用可以根据访问的url地址判断将请求发给哪个具体的服务器处理。
  nginx作为http服务器可以运行静态资源, 包括html, css, js, 图片等, 效率比tomcat要高很多。

  二、 OpenResty介绍


  1) OpenResty介绍


  OpenResty(又称:ngx_openresty) 是一个基于 NGINX 的可伸缩的 Web 平台,由中国人章亦春发起,提供了很多高质量的第三方模块。

  OpenResty 是一个强大的 Web 应用服务器,Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,更主要的是在性能方面,OpenResty可以 快速构造出足以胜任 1万 乃至10万以上并发连接响应的超高性能 Web 应用系统。openresty 出现的目标是,想让web服务器直接跑在Nginx服务内部,我们可以充分利用Nginx的非阻塞IO模型,不仅仅对http客户端的请求,甚至对远程后端,比方说mysql redis memcache都可以进行一致的高性能响应。

  360,UPYUN,阿里云,新浪,腾讯网,去哪儿网,酷狗音乐等都是 OpenResty 的深度用户。

  OpenResty 简单理解,就相当于封装了nginx,并且集成了LUA脚本,开发人员只需要简单的其提供了模块就可以实现相关的逻辑,而不再像之前,还需要在nginx中自己编写lua的脚本,再进行调用了。

  2) OpenResty安装


linux安装openresty:

1.添加仓库执行命令

yum install yum-utils
​
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo

 


2.执行安装

yum install openresty

 


安装成功后 会在默认的目录下:

/usr/local/openresty

 



3.安装nginx

默认已经安装好了nginx,在目录:/usr/local/openresty/nginx 下。

修改/usr/local/openresty/nginx/conf/nginx.conf,将配置文件使用的根设置为root,目的就是将来要使用lua脚本的时候 ,直接可以加载在root下的lua脚本。

#user nobody; 配置文件第一行原来为这样, 现改为下面的配置
user root root;

 


测试访问: http://192.168.200.128

  三、Lua快速入门


  Lua简介
  Lua 是一个小巧的脚本语言。它是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开发的。 其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。

  简单来说:

  Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

  Lua 语言特性


    --支持面向过程(procedure-oriented)编程和函数式编程(functional programming);
    --自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;
    --语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;
    --通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。


  Lua 应用场景
  --游戏开发
  --独立应用脚本
  --Web 应用脚本
  --扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench
  --安全系统,如入侵检测系统
  --redis中嵌套调用实现类似事务的功能
  --web容器中应用处理一些过滤 缓存等等的逻辑,例如nginx。


  Lua的安装
有linux版本的安装也有mac版本的安装。我们采用linux版本的安装,首先我们准备一个linux虚拟机。

安装步骤如下。在linux系统中执行下面的命令。

yum install -y gcc
​
yum install libtermcap-devel ncurses-devel libevent-devel readline-devel
​
curl -R -O http://www.lua.org/ftp/lua-5.4.7.tar.gz
​
tar -zxf lua-5.4.7.tar.gz
​
cd lua-5.4.7
​
make linux test
​
make install

 


验证安装成功:

lua

 

输出lua版本和copyright,安装成功

打印hello 到linux控制台

Lua


print('hello');

 

标签:nginx,--,lua,可用,Lua,首页,openresty,服务器,电商
From: https://www.cnblogs.com/kongsq/p/18625265

相关文章

  • 【电商搜索】CRM: 具有可控条件的检索模型
    【电商搜索】CRM:具有可控条件的检索模型目录文章目录【电商搜索】CRM:具有可控条件的检索模型目录文章信息摘要研究背景问题与挑战如何解决核心创新点算法模型实验效果(包含重要数据与结论)相关工作后续优化方向后记https://arxiv.org/pdf/2412.13844文章信息......
  • 【电商搜索】文档的信息论生成聚类
    【电商搜索】文档的信息论生成聚类目录文章目录【电商搜索】文档的信息论生成聚类目录文章信息概览研究背景技术挑战如何破局技术应用主要相关工作与参考文献后续优化方向后记文章信息https://arxiv.org/pdf/2412.13534概览本文提出了一种基于信息论的生成......
  • 电商项目-数据同步解决方案(一)
    一、canal简介canal是阿里旗下的开源项目,其内部是基于java开发。主要作用是用于监控数据库内部数据的改变。从而获得新增数据,或者修改的数据。canal主要支持mysql数据库。canal是应对阿里巴巴存在杭州和美国的双机房部署,存在跨机房同步的业务需求......
  • node.js基于协同过滤算法的居民健康生活引导系统的设计与实现程序+论文 可用于毕业设
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于居民健康生活引导的研究,现有研究主要以健康生活方式的推广、健康意识的提升等宏观层面为主。在健康引导的技术实现方面,多集中于简单的信息推送系统,......
  • keepalived的高可用集群
    keepalived的概念keepalived的工作原理基于vrrp实现的调度器高可用方案keepalived的配置实验先在调度服务器上安装keepalived和ipvsadmapt-yinstallkeepalivedipvsadm复制keepalived的配置文件到/etc/keepalived/目录下cp/usr/share/doc/keepalived/samples......
  • 从复盘到优化,电商团队如何破局?
    敏捷的复盘文化是现代电商团队提升竞争力的关键。无论是小型活动还是全年大促,复盘不仅是发现问题的工具,更是团队内部持续进化的核心能力。在线文档编辑与协同工具的应用,为电商团队在这一过程中提供了新的解决方案。电商复盘文化为何重要?1.数据驱动决策:活动过程中会产生大量数据......
  • Redis高可用部署
    Redis常见架构Redis实现高可用有三种部署模式:主从模式,哨兵模式,集群模式。主从模式主从模式中,Redis部署了多台机器,主节点负责读写操作,从节点只负责读操作。从节点的数据来自主节点,实现原理就是主从复制机制。主从复制包括全量复制,增量复制两种。一般当slave第一次启动连接ma......
  • 数据到行动:电商复盘文化的深度剖析
    电商团队如何用协同工具优化活动复盘效率在电商行业中,团队复盘是每次活动后提升战斗力的重要环节。但由于活动节奏快、涉及面广,传统的复盘流程往往效率低下。近年来,越来越多的电商团队开始依赖在线文档编辑与协同工具,极大地提升了复盘的效率和质量。高效复盘的痛点:1.信息分散:......
  • 轻松解决首页白屏问题
    解决首页白屏问题:基于Nuxt2和无界微前端的优化方案前言在当今的Web开发中,首页的加载速度是影响用户体验的一个关键因素。用户在访问网站时,通常期望能在几秒钟内看到可交互的页面内容,而如果页面的加载时间过长,特别是出现白屏的现象,可能会导致用户流失,严重影响转化率。为......
  • node.js基于Web的大学生兼职系统程序+论文 可用于毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于大学生兼职系统的研究,现有研究主要以线下兼职服务平台为主,专门针对基于Web的大学生兼职系统的研究较少。随着互联网的普及,大学生兼职方式逐渐向线上......