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

打印 上一主题 下一主题

主题 735|帖子 735|积分 2215

  一、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.添加堆栈执行命令
  1. yum install yum-utils
  2. yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
复制代码
 

2.执行安装
  1. yum install openresty
复制代码
 

安装成功后 会在默认的目次下:
  1. /usr/local/openresty
复制代码
 


3.安装nginx
默认已经安装好了nginx,在目次:/usr/local/openresty/nginx 下。
修改/usr/local/openresty/nginx/conf/nginx.conf,将配置文件使用的根设置为root,目标就是将来要使用lua脚本的时间 ,直接可以加载在root下的lua脚本。
  1. #user nobody; 配置文件第一行原来为这样, 现改为下面的配置
  2. 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体系中执行下面的命令。
  1. yum install -y gcc
  2. yum install libtermcap-devel ncurses-devel libevent-devel readline-devel
  3. curl -R -O http://www.lua.org/ftp/lua-5.4.7.tar.gz
  4. tar -zxf lua-5.4.7.tar.gz
  5. cd lua-5.4.7
  6. make linux test
  7. make install
复制代码
 

验证安装成功:
  1. lua
复制代码
 
输出lua版本和copyright,安装成功


打印hello 到linux控制台
  1. Lua
  2. print('hello');
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

来自云龙湖轮廓分明的月亮

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表