zoukankan      html  css  js  c++  java
  • tengine+lua的安装步骤

    我是在Red Hat 5.8 的虚机上安装的。

    Nginx的一些模块需要其他第三方库的支持,例如gzip模块需要zlib库,rewrite模块需要pcre库,ssl功能需要openssl库等。建议把这些库都安装上。

    安装 PCRE

    PCRE(Perl兼容正则表达式,Perl Compatible Regular Expressions),一个由Philip Hazel开发的,为很多现代工具所使用的支持正则表达式的函数库。

    编译Nginx时需要用到PCRE,同时Nginx的Rewrite和http模块也要用到PCRE的语法!需要安装pcre包pcre-devel包。pcre包负责提供库的编译版本,pcre-devel包提供编译项目时用到的开发头文件和代码!

    PCRE在linux系统里被其它的软件所依赖,所以一般的linux系统里都会装有,但是否是最新版本,是否满足要求,那就得看需求了。如果满足不了的话,还是需要编译安装最新版本的pcre软件。

    检查系统中是否安装了PCRE软件

    系统里是否安装了pcre软件,我们可以使用rpm 命令进行查询,如下命令
    rpm -qa pcre

    如果没有显示则表示还没有安装,如果显示了,刚表示安装了。如下图

    image 

    上图表示系统已经安装过 pcre-6.6-9.e15 版本,但是没有安装 pcre-devel。

    如果需要新版本,则需要卸载掉就版本,然后安装新版本。相关方法参看:

    http://jingyan.baidu.com/article/f7ff0bfc6bc0472e26bb13bf.html

    安装方法:

    yum install pcre pcre-devel

     

    yum 安装的文件可以用下面命令来找安装在那个目录下:

    rpm –ql pcre

    参考: http://blog.csdn.net/ngvjai/article/details/7997743

    安装 openssl

    安装方法:

    yum install openssl openssl-devel

    在安装 openssl 时,会把我们需要的其他 zlib库也做了安装。

    安装 lua

    yum安装:

    yum install lua lua-devel

    安装Lua或者LuaJIT都是可以的,但是出于效率的考虑,推荐安装LuaJIT。下面的源码例子就是安装LuaJIT

    源码安装:

    lua下载地址: http://luajit.org/

    我这里下载的是:LuaJIT-2.0.1.tar.gz 下载在 /usr/local/src 目录下。

    安装命令:

    cd /usr/local/src
    tar  zxvf LuaJIT-2.0.1.tar.gz
    cd LuaJIT-2.0.1

    make

    make install

    因为安装在缺省路径,所以LuaJIT对应的lib,include均在/usr/local目录里。

    参考:

    http://huoding.com/2012/08/31/156

     

     

    安装 tengine

    我这里使用的是 tengine-1.4.6.tar.gz 。  下载地址: http://tengine.taobao.org/download 

    我把下载好的源文件放在 /usr/local/src 目录下了。

    执行命令如下:

    cd /usr/local/src
    tar  zxvf tengine-1.4.6.tar.gz
    cd tengine-1.4.6

    配置命令

    ./configure --prefix=/usr/local/nginx --with-pcre=/usr/include  --with-http_lua_module --with-luajit-lib=/usr/local/lib/ --with-luajit-inc=/usr/local/include/luajit-2.0/ --with-lua-inc=/usr/local/include/luajit-2.0/ --with-lua-lib=/usr/local/lib/ --with-ld-opt=-Wl,-rpath,/usr/local/lib

    make

    make install

     

     

    编译参数说明:

    由于 PCRE 我们是通过 yum 安装的,所以会有下面的参数设置  --with-pcre=/usr/include  

    lua我们是手工安装的, 所以才会有后面的参数设置 --with-http_lua_module --with-luajit-lib=/usr/local/lib/ --with-luajit-inc=/usr/local/include/luajit-2.0/ --with-lua-inc=/usr/local/include/luajit-2.0/ --with-lua-lib=/usr/local/lib/

    --prefix

    编译后,计划安装的目录

    它的作用:不指定prefix,则可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc。其它的资源文件放在/usr/local/share。你要卸载这个程序,要么在原来的make目录下用一次make uninstall(前提是make文件指定过uninstall),要么去上述目录里面把相关的文件一个个手工删掉。
    指定prefix,直接删掉一个文件夹就够了。

    http://blog.csdn.net/xiyangfan/article/details/5321790

     

    --with-ld-opt

    其中的 --with-ld-opt=-Wl,-rpath,/usr/local/lib:/opt/openresty/luajit/lib 参数的意思是:
    这是链接器选项,目的是把 /usr/local/lib 和 /opt/openrersty/luajit/lib 这两个路径添加进
    nginx 可执行文件的 RPATH 头中,这样在启动的时候,系统就可以找到正确的动态链接库文件。

    https://groups.google.com/forum/#!msg/openresty/mVi0p-Qx7Qg/zNyrOZi-slgJ 

     

    启动 nginx

    启动命令(我们前面把 nginx 安装在 /usr/local/nginx 目录下了):

    /usr/local/nginx/sbin/nginx

    启动后,本机访问 http://localhost 会看到下面页面:

    image

    修改  /usr/local/nginx/conf/nginx.conf 文件

    增加下面几行代码:

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

    然后使用 下面命令重新启动 nginx

    /usr/local/nginx/sbin/nginx -s reload

    重启命令参考: http://xuun.net/2010/02/16/nginx-restart/

    本机访问  http://localhost/hello 会看到下面页面:

     

    image

    防火墙设置

    上面访问是本机访问的,如果我们想其他机子也能访问,需要开放

    直接关闭防火墙的命令:

    service iptables stop

    参考:http://kiddwyl.iteye.com/blog/67708

    查看防火墙状态
    chkconfig iptables --list

    打开 80 端口的访问权限方法:

    vi /etc/sysconfig/iptables
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙)
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
    特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面(如下规则)
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

     

    /etc/init.d/iptables restart
    #最后重启防火墙使配置生效

     

    参考资料:

    centos linux 编译安装pcre软件
    http://jingyan.baidu.com/article/f7ff0bfc6bc0472e26bb13bf.html

    Nginx与Lua
    http://huoding.com/2012/08/31/156

  • 相关阅读:
    Redis宣言
    软件工程
    分布式编程
    编程泛型
    tcp/ip高效编程总结
    IP协议详解
    gevent程序员指南
    网站架构
    这些话,是乔布斯给世间留下的真正伟大礼物
    Flink/Spark 如何实现动态更新作业配置
  • 原文地址:https://www.cnblogs.com/ghj1976/p/3535818.html
Copyright © 2011-2022 走看看