openresty的介绍

今天给一家公司投简历,问我用过openresty没,确实没用过,回答后没结果了。这就查了查。

官方介绍如下:

        OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

OpenResty® 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。

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

另外还有一篇博客专门介绍了一下OpenResty 和 Nginx 如何分配和管理内存

因为我用的是kali在官方提供的方法里安装源不支持,只能用包编译安装。

这里是下载不同系统和不同版本的页面 openresty
版本图片

源配置教程 openresty

源图片

下载的编译包

解压,后进入目录,执行如下命令(参数根据自己需要来添加)

      ./configure --prefix=/opt/openresty --with-pcre-jit --with-ipv6 --without-http_redis2_module --with-http_iconv_module --with-http_postgres_module -j8 --with-luajit

然后执行

  • 如果电脑支持多核 make 工作的特性就用

       make j2
    
  • 否则用

       make
    

以上执行完毕后,执行

sudo make install

然后测试是否安装成功

在任意目录创建work文件

我是在/home/project/下创建文件work,并在work文件中创建conf和logs文件

然后,在conf目录创建nginx.conf,并放入一下代码

  worker_processes  1;
  error_log logs/error.log;
  events {
      worker_connections 1024;
  }
  http {
      server {
          listen 8080;
          location / {
              default_type text/html;
              content_by_lua_block {
                  ngx.say("<p>https://erik.xyz</p>")
              }
          }
      }
  }

根据我的安装在work目录下,执行:/opt/openresty/nginx/sbin/nginx -p `pwd`/ -c conf/nginx.conf

启动nginx,然后浏览器或者用curl命令访问本地8080端口,就可以看到定义好输出的网址。