首页 > 其他 > 详细

CentOS7安装Nginx+Lua

时间:2020-06-28 15:30:10      阅读:73      评论:0      收藏:0      [点我收藏+]

一、首先需要安装必要的库(pcre、zlib、openssl)

    1、安装gcc(可通过“gcc -v”查看是否已经安装)

    GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言编译器,包括C、C++、Objective-C、Fortran、Java、Ada和Go语言前端,也包括这些语言的库(如libstdc++,libgcj等)。

sudo yum -y install gcc

    2、安装pcre

    pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式。

sudo yum install -y pcre pcre-devel

    3、安装zlib

    zlib库提供了很多种压缩和解压缩方式,nginx使用zlib对http包的内容进行gzip。

sudo yum install -y zlib zlib-devel

    4、安装openssl

    openossl是一个开放源代码的软件库包,nginx使用该库以支持https协议。

sudo yum install -y openssl openssl-devel

二、安装lua支持(LuaJIT、ngx_devel_kit、lua-nginx-module)

    1、安装LuaJIT

    LuaJIT是Lua的即时编译器,使用C语言编写,兼容标准Lua 5.1。LuaJIT的运行效率比标准的Lua高出数倍(因为JIT技术),完全媲美使用C/C++代码。

cd /usr/local  #(下载到/usr/local目录中)
sudo wget
-c http://luajit.org/download/LuaJIT-2.0.4.tar.gz sudo tar -xzvf LuaJIT-2.0.4.tar.gz cd LuaJIT-2.0.4 sudo make install PREFIX=/usr/local/luajit

     2、下载ngx_devel_kit

    ngx_devel_kit:Nginx Devel Kit,简称NDK,是一种Nginx模块,旨在扩展Nginx webserver的核心功能,可以作为其它Nginx模块的基础。

cd /usr/local  #(下载到/usr/local目录中)
sudo wget
https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz sudo tar -xzvf v0.3.0.tar.gz

    3、下载lua-nginx-module

    lua-nginx-module也是一个Nginx模块,它将Lua的功能嵌入到Nginx HTTP Server中。同时,这个模块是OpenResty的核心组件(OpenResty是一个通过Lua扩展NGINX实现的可伸缩的Web平台)。

cd /usr/local  #(下载到/usr/local目录中)
sudo
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.8.tar.gz sudo tar -xzvf v0.10.8.tar.gz

三、安装Nginx

    1、下载nginx-1.10.3.tar.gz(某研好像装的是1.10.2,应该差不多)

cd /usr/local  #(下载到/usr/local目录中)
wget
http://nginx.org/download/nginx-1.10.3.tar.gz tar -xzvf nginx-1.10.3.tar.gz

    2、配置LuaJIT环境变量

su  #(切换到root用户)
(输入root用户Password)
export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0

    3、编译、安装(root权限下)

(上面的环境变量配置完成后就可以编译安装了)
cd nginx-1.10.3 ./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.8 make -j2 make install
exit #(退出root)

    注:./configure中的--with-http_***_module模块是默认不会安装的,需要显式配置,详细可参阅“http://nginx.org/en/docs/configure.html”

 四、测试验证

    1、使用lua指令的方式。在/usr/local/nginx/conf/nginx.conf中加入如下代码:

#在server中添加一个location
location /hello_lua { 
   default_type text/plain; 
   content_by_lua ngx.say("hello, lua"); 
}

    2、或者使用lua文件的方式。在/usr/local/nginx/conf/nginx.conf中加入如下代码:

#在server中添加一个location
location /lua_file {
    default_type text/html;
    content_by_lua_file conf/lua/test.lua; #在nginx安装目录下开始
}

     然后编辑test.lua文件

ngx.say("hello, world");

    3、启动nginx(注意有没有报错)

sudo ln -s /usr/local/nginx/sbin/nginx usr/sbin/nginx  #(先做一下软连接,以便后续可以方便地执行nginx相关命令)
sudo nginx

     注:如果启动nginx报如下错误:

nginx: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory

    可通过以下方式解决,然后再启动nginx:

    1)方法一:

sudo ln -s /usr/local/luajit/lib/libluajit-5.1.so.2 /lib64/libluajit-5.1.so.2

    2)方法二:

sudo vi /etc/ld.so.conf.d/libc.conf
#(在libc.conf中增加如下代码,然后保存退出)
/usr/local/luajit/lib  #(这里对应自己安装的luajit目录)
#(退出后执行如下命令)
sudo ldconfig

    4、http测试

        访问“http://127.0.0.1/hello_lua”  显示“hello, lua”
        访问“http://127.0.0.1/lua_file”  显示“hello, world”

五、至此,安装成功。

 

CentOS7安装Nginx+Lua

原文:https://www.cnblogs.com/vinci-yu/p/13164053.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!