一、准备编译环境

  1、操作系统:CentOS7.6
  2、安装编译所需安装包
    yum install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
      gcc 编译环境
      pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式。
      zlib库提供了很多种压缩和解压缩方式,nginx使用zlib对http包的内容进行gzip。
      openossl是一个开放源代码的软件库包,nginx使用该库以支持https协议。

二、下载lua所需安装包

  1、下载lua模块
    wget https://github.com/openresty/lua-nginx-module/archive/v0.10.9rc7.tar.gz
    解压到/usr/local/目录下
    tar xvf v0.10.9rc7.tar.gz -C /usr/local
  2、下载nginx拓展模块
    wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
    是一个拓展nginx服务器核心功能的模块,第三方模块开发可以基于它来快速实现
    解压到/usr/local/目录下
    tar xvf v0.3.0.tar.gz -C /usr/local
  3、准备lua环境
    wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz
    tar xvf LuaJIT-2.0.4.tar.gz
    cd LuaJIT-2.0.4
    make install PREFIX=/usr/local/luajit
    配置环境变量:
    vim /etc/profile.d/lua.sh
      export LUAJIT_LIB=/usr/local/luajit/lib
      export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0
    加载环境变量:source /etc/profile.d/lua.sh

三、编译安装nginx

  1、下载nginx源码包
    wget http://nginx.org/download/nginx-1.16.1.tar.gz
  2、解压后编译安装
    tar xvf nginx-1.16.1.tar.gz
    cd nginx-1.16.1
    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module --add-module=/usr/local/ngx_devel_kit-0.3.0 --add-module=/usr/local/lua-nginx-module-0.10.9rc7
    make
    make install
  注意:如果lua-nginx-module跟nginx版本不匹配时,执行make install后会报错,建议更换lua-nginx-module版本;我刚开始用的v0.10.8版本,跟nginx-1.16源码不匹配报错。后来换成0.10.9rc7编译成功了;
  3、验证nginx是否安装成功
    当上一步没有报错则可进行这一步
    /usr/local/nginx/sbin/nginx -V
      nginx version: nginx/1.16.1
      built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
      built with OpenSSL 1.0.2k-fips 26 Jan 2017
      TLS SNI support enabled
      configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module --add-module=/usr/local/ngx_devel_kit-0.3.0 --add-module=/usr/local/lua-nginx-module-0.10.9rc7
    出现以上信息基本就安装没问题了;
  注意:如果遇上如下报错:
  nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
    解决方案简单粗暴:yum install lua* -y
  创建软连接方便执行nginx相关命令
  ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx

四、验证lua模块是否好使

  编辑nginx.conf文件,在http模块下面添加一个server块:

server {
listen 8083;
location /hello_lua {
default_type 'text/plain';
content_by_lua 'ngx.say("hello,lua")';
}
}

  执行nginx -t命令查看是否有语法错误;
       执行nginx命令启动nginx;确保nginx启动没问题;

  本地访问测试:

[root@iZ2zeg6be8 ~]# curl 127.0.0.1:8083/hello_lua
hello,lua

  当返回hello,lua的时候表示nginx编译安装支持lua成功;

nginx编译安装支持lua脚本的更多相关文章

  1. nginx的编译安装以及启动脚本编写

    Nginx的编译安装和启动脚本的编写 Nginxd的功能强大,可以实现代理.负载均衡等企业常用的功能.下面介绍一下nginx的编译安装方法: 1. 下载 官方下载地址:http://nginx.org ...

  2. Nginx编译安装lua-nginx-module

    lua-nginx-module 模块可以将Lua的强大功能嵌入NGINX服务器. 下载Nginx源码 如果已安装Nginx,需要查看当前安装版本的编译参数: $ /usr/local/nginx/s ...

  3. Nginx编译安装相关参数

    Nginx编译安装相关参数 Nginx插件安装 ------------------pcre------------------ cd /usr/local/source wget http://ww ...

  4. nginx编译安装

    Nginx编译安装 1.nginx官网:http://wiki.nginx.org/Install下载:http://nginx.org/en/download.html 2.编译安装# wget h ...

  5. LNMP平台搭建之一:nginx编译安装

    参考博客:https://www.cnblogs.com/zhang-shijie/p/5294162.html   jack.zhang 一.环境说明 系统环境:centos6.5 [root@lo ...

  6. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

  7. Nginx编译安装:

    第三方模块 在nginx.org   --------  wiki  找 --add-module=   添加 Nginx编译安装: 安装开发环境 ]# yum groupinstall " ...

  8. [nginx]编译安装及安全优化

    nginx配置-最后整理版 nginx_upstream_check_module nginx-module-vts nginx打补丁 nginx编译安装 - 下载 cd /usr/local/src ...

  9. 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装

    系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...

随机推荐

  1. Spring Ioc源码分析系列--前言

    Spring Ioc源码分析系列--前言 为什么要写这个系列文章 首先这是我个人很久之前的一个计划,拖了很久没有实施,现在算是填坑了.其次,作为一个Java开发者,Spring是绕不开的课题.在Spr ...

  2. 三个小项目入门Go语言|字节青训营笔记

    前言 这是青训营的第一课,今天的课程比较快速的讲解了go语言的入门,并配合三个小的项目实践梳理所学知识点,这里详细回顾一下这三个项目,结合课后作业要求做一些代码补充,并附上自己的分析,青训期间的所有课 ...

  3. 力扣算法:125-验证回文串,131-分割回文串---js

    LC 125-验证回文串 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 注:回文串是正着读和反着读都一样的字符串. ...

  4. 前后端分离,SpringBoot如何实现验证码操作

    验证码的功能是防止非法用户恶意去访问登录接口而设置的一个功能,今天我们就来看看在前后端分离的项目中,SpringBoot是如何提供服务的. SpringBoot版本 本文基于的Spring Boot的 ...

  5. spring-boot rest controller 使用枚举作为参数,重写反序列化实现任意值转枚举类型

    目录 BaseEnum MyEnum StringToEnumConverterFactory FormatterConfig DTO RestController 参考 BaseEnum packa ...

  6. MAUI候选版本3发布啦

    我们很高兴发布.NET 多平台应用程序UI (.NET MAUI) 候选版本3,这个版本包含一系列新的改进.与以前的候选版本一样,RC3 包含在"上线"支持政策中,这意味着Micr ...

  7. 【低码】asp.net core 实体类可生产 CRUD 后台管理界面

    前言介绍 喜欢小规模团队的"单打独斗",有的时候即使在大公司,也经常做着3-5个人团队的小项目,相信很多人有类似的经历. 本文介绍如何将项目中已存在的[实体类],直接生产出 CRUD 后台管理界面. ...

  8. 【多线程】线程创建方式三:实现callable接口

    线程创建方式三:实现callable接口 代码示例: import org.apache.commons.io.FileUtils; import java.io.File; import java. ...

  9. 146_ACCESS之HR招聘信息管理_64位

    焦棚子的文章目录 点击下载附件 一.背景: 最近把之前做的一个HR招聘信息管理工具翻新了下,有需要的朋友可以自取,主要想解决的问题是多人在跟进人员招聘的时候信息的不对称,这样下来的就可以及时的看到整个 ...

  10. ABP框架之——数据访问基础架构

    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享阅读心得,希望我的文章能成为你成长路上的一块垫脚石,我们一起精进. 几乎所有的业务应用程序都要适用一种数据库基础架构,用来实现数据访问逻辑,以便从数 ...