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

  • 相关阅读:
    python json 和 pickle的补充 hashlib configparser logging
    go 流程语句 if goto for swich
    go array slice map make new操作
    go 基础
    块级元素 行内元素 空元素
    咽炎就医用药(慢性肥厚性咽炎)
    春季感冒是风寒还是风热(转的文章)
    秋季感冒 咳嗽 怎么选药
    解决IE浏览器“无法显示此网页”的问题
    常用的 css 样式 记录
  • 原文地址:https://www.cnblogs.com/ghj1976/p/3535818.html
Copyright © 2011-2022 走看看