抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

openresty是基于nginx开发的一个web服务器,加入了lua,可以通过lua脚本实现更多扩展,功能十分强大。

安装步骤

下载并解压

官网地址:http://openresty.org/cn/

这里下载最新版

1
wget https://openresty.org/download/openresty-1.11.2.1.tar.gz

解压并进入目录

1
2
3
tar -zxvf openresty-1.11.2.1.tar.gz

cd openresty-1.11.2.1

先安装需要的组件

安装几个依赖库

1
yum install pcre-devel openssl-devel gc-c++

编译安装

1
./configure --prefix=/usr/local/openresty --with-http_ssl_module  --with-http_sub_module --with-http_stub_status_module

这里,–prefix跟着的是你待会要安装的路径,可以自己指定的,例如安装在某个普通用户下,其中,openresty是手动建的,不建的话,那么会有几个openresty的文件夹散落在同一个目录下。后面是我自己装必带的,各位看需要吧。另外,源码编译目录不要删除,后面如果要添加模块还需要用到。

1
make && make install

到这里,就安装完毕了,可以检验下是否安装成功。

1
2
cd /usr/local/openresty/nginx
sbin/nginx -c conf/nginx.conf -t

如果出现下面的内容说明安装成功了。

1
2
nginx: the configuration file /usr/local/openresty/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/openresty/nginx/conf/nginx.conf test success

那么启动nginx吧,进入openresty/nginx目录

1
sbin/nginx -c conf/nginx.conf

一个注意点是,openresty可以使用普通用户安装,不要root, 另外配置文件中默认端口是80,80端口只有root用户可以启,普通用户的话需要改一下,例如改成8000。

安装后添加模块

在使用过程中我们经常会需要添加官方模块和第三方模块,这里说一下安装方式。 以上文为例。

首先

1
2
cd /usr/local/openresty/nginx
sbin/nginx -V

得出如下内容

1
2
3
4
5
nginx version: openresty/1.9.15.1
built by clang 7.3.0 (clang-703.0.31)
built with OpenSSL 1.0.2h 3 May 2016 (running with OpenSSL 1.0.2j 26 Sep 2016)
TLS SNI support enabled
configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt='-O2 -I/usr/local/opt/openssl/include/ -I/usr/local/opt/pcre/include/' --add-module=../ngx_devel_kit-0.3.0 --add-module=../echo-nginx-module-0.59 --add-module=../xss-nginx-module-0.05 --add-module=../ngx_coolkit-0.2rc3 --add-module=../set-misc-nginx-module-0.30 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.05 --add-module=../srcache-nginx-module-0.31 --add-module=../ngx_lua-0.10.5 --add-module=../ngx_lua_upstream-0.05 --add-module=../headers-more-nginx-module-0.30 --add-module=../array-var-nginx-module-0.05 --add-module=../memc-nginx-module-0.17 --add-module=../redis2-nginx-module-0.13 --add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.14 --add-module=../rds-csv-nginx-module-0.07 --with-ld-opt='-Wl,-rpath,/Users/ryan/app/openresty/luajit/lib -L/usr/local/opt/openssl/lib/ -L/usr/local/opt/pcre/lib/' --with-http_sub_module --with-http_ssl_module

查看现有的模块,复制下–prefix后的目录,但是却记啊,最后的”nginx”不要带上那个是编译的时候加上去的,还记得上文说安装的时候吧,是不带”nginx”这个目录的。

进入当初解压后的编译目录 ./configure --prefix=/usr/local/openresty --with-http_sub_module --with-http_ssl_module --with-xxx --add-module=/aaa/bbb/ccc

这里,说一下,上面”sbin/nginx -V”出来的里面,–add-module的,前面都可以忽略,很多是默认安装的不要额外加进来,一般只有后面才是后来自己加的才需要留意。上面再编译的地方, http_ssl_module和with-http_sub_module是第一次编译的时候自己加的,那么在添加模块的时候不要忘记带上。–with-xxx是官方的模块,这样添加。–add-module=/aaa/bbb/ccc是添加第三方模块,路径要写对,绝对路径和相对路径都可以,我这边用的是绝对路径。

评论