• 【Lua】Debian环境下openresty的安装


      OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器,它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项。

      OpenResty 通过汇聚各种设计精良的 Nginx 模块,
      从而将 Nginx 有效的变成一个强大的 Web 应用服务器,
      这样, Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种C以及Lua 模块,
      快速构造出足以胜任 10K+ 并发连接响应的超高性能Web 应用系统.

      OpenResty 的目标是让你的Web服务直接跑在 Nginx 服务内部,
      充分利用 Nginx 的非阻塞 I/O 模型,
      不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如
      MySQL,PostgreSQL,~Memcaches 以及 ~Redis 等都进行一致的高性能响应.

      以上是官网的介绍。


      根据官网的教程,判断自己的系统,用相应的方法下载安装。

      安装依赖环境:

      首先必须先把这些库 perl 5.6.1+libreadlinelibpcrelibssl安装到系统内:

    apt-get install libreadline-dev libpcre3-dev libssl-dev perl

      这里出现了一个问题:

      

      表示安装软件包可能破坏依赖关系。这里可能是两个原因,一个是软件源,一个是包依赖关系。于是我用下面的方法解决:

      首先我更新了我的源(这里是为了找到最快的更新源,可以跳过此条!):

    apt-spy -d stable -a asia -t 10

      ps:好多apt-spy教程都将最后一个测试时长设置为5s,不过实际中使用发现,在测试163的源时,由于连接时长有时会超过5秒,所以被判断为连接超时,但163的源却是最快的源,所以这里将连接时长增至10s,这样查找出来的源就没有问题了。

      更新源:

      apt-get update

      更新软件包:

      apt-get upgrade

      更新完毕后再次用命令:

    apt-get install libreadline-dev libpcre3-dev libssl-dev perl

      错误依然出现,于是我尝试单独安装提示的几个包:

    apt-get install console-setup initramfs-tools nfs-common

      完毕后,再次使用安装命令:

    apt-get install libreadline-dev libpcre3-dev libssl-dev perl

      问题解决!


     构建OpenResty  

      首先从官网下载最新的ngx_openresty源码包ngx_openresty-1.7.7.1.tar.gz

      然后解压、编译、安装:

    tar -zxvf openresty-1.7.7.1.tar.gz
    cd openresty-1.7.7.1/
    ./configure 
    make
    make install

      如果一切没有出现问题的话,OpenResty会被默认安装在/usr/local/openresty目录下。

      当然,这些命令都是在root用户下运行的,非root用户前面加上sudo。


      HelloWorld

      所有的语言都是从HelloWorld开始的,这里也不免俗:

      首先建立一个实验目录:

    mkdir ~/work
    cd ~/work
    mkdir conf logs

      nginx支持不同的配置文件启动。在conf文件夹下新建一个"nginx.conf",然后在里面添加下面的内容:

     1 worker_processes  1;
     2 error_log logs/error.log;
     3 events {
     4     worker_connections 1024;
     5 }
     6 http {
     7     server {
     8         listen 8080;
     9         location / {
    10             default_type text/html;
    11             content_by_lua '
    12                 ngx.say("<p>hello, world</p>")
    13             ';
    14         }
    15     }
    16 }

      随后启动nginx:

    cd ~/work
    nginx -p 'pwd'/ -c conf/nginx.conf

      上面是官网使用的方法,随后出现了下面的问题:

      来看看这个nginx启动命令:

        -p 表示指定日志文件目录

        -c 表示启动配置文件目录

      于是将其改为:

    nginx -p . -c conf/nginx.conf

      这次没有出现错误。

      随后使用命令查看nginx启动情况:

    netstat -lnp | grep nginx

      显示:

      表示启动成功!

      现在查看logs目录下的文件:

      

      发现新出现了几个日志文件和pid文件。

      随后测试:

      浏览器访问 localhost:8080,显示hello,world。

      OpenResty搭建成功!

  • 相关阅读:
    go语言教程零基础入门到精通
    php探针文件内容
    一篇文章揭穿创业公司的套路
    Google资深工程师深度讲解Go语言面向接口(五)
    完全解析<atlalloc.h>
    巧妙的Section — — 剖析ATL OBJECT_MAP的自动建立
    ATL中的各种CriticalSection
    C++中的INL
    如何剖析一个类
    ATL线程模型解析
  • 原文地址:https://www.cnblogs.com/linxiong945/p/4164509.html
Copyright © 2020-2023  润新知