OpenResty是个什么鬼?

  • 等一下,OpenResty 是个什么鬼?

    • OpenResty是一个强大的 Web 应用服务器,Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,更主要的是在性能方面,OpenResty可以 快速构造出足以胜任 10K 以上并发连接响应的超高性能 Web 应用系统。
  • 优点

    • OpenResty 的目标是让你的 Web 服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL,PostgreSQL,~Memcaches 以及 ~Redis 等都进行一致的高性能响应。
      所以对于一些高性能的服务来说,可以直接使用 OpenResty 访问 Mysql或Redis等,而不需要通过第三方语言(PHP、Python、Ruby)等来访问数据库再返回,这大大提高了应用的性能。
  • OpenResty安装

    • 环境说明

      • 本教程是基于ubuntu16.04.7安装OpenResty。

        vagrant@ubuntu-xenial:~$ cat /etc/issue
        Ubuntu 16.04.7 LTS \n \l
    • 编译安装

       #安装导入 GPG 公钥时所需的几个依赖包
       sudo apt-get -y install --no-install-recommends wget gnupg ca-certificates
       #导入我们的 GPG 密钥:
       wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
       # 使用arch命令查看Ubuntu的内核
         arch
       # x86_64 或 amd64 系统
        echo "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main" \
            | sudo tee /etc/apt/sources.list.d/openresty.list
       # arm64 或 aarch64 系统
        echo "deb http://openresty.org/package/arm64/ubuntu $(lsb_release -sc) main" \
            | sudo tee /etc/apt/sources.list.d/openresty.list
        #更新 APT 索引
         sudo apt-get update
        #安装openresty软件包
         sudo apt-get -y install openresty
        # 设置PATH
          PATH=/usr/local/openresty/nginx/sbin:$PATH
          export PATH
  • 简单使用

    • logs 目录用于存放日志,conf 用于存放配置文件。

      mkdir /home/www
      cd /home/www/
      mkdir logs/ conf/
      • conf 目录下创建一个 nginx.conf 文件

        worker_processes  1;
        error_log logs/error.log;
        events {
         worker_connections 1024;
        }
        http {
         server {
             listen 9000;
             location / {
                 default_type text/html;
                 content_by_lua '
                     ngx.say("<p>Hello, World!</p>")
                 ';
             }
         }
        }
        
        • 启动 (如果没有任何输出,说明启动成功,-p 指定我们的项目目录,-c 指定配置文件。)

          nginx -p `pwd`/ -c ./conf/nginx.conf
    • 测试 (curl http://localhost:9000/)

      <p>Hello, World!</p>
Last modification:January 25, 2022
如果觉得我的文章对你有用,请随意赞赏