openresty安装与简单示例,


openresty安装与简单示例

@author 0597agentzhu 2016/6/10

OpenResty是可以说是Nginx的一个扩展软件集合,它将Lua的简单、轻巧嵌入到nginx中。本文着重介绍openresty在ubuntu中的安装以及一个简单的示例。

安装openresty[1]

安装的环境是ubuntu14.04,64位。

首先我们在主目录下创建一个tool目录,用于存放openresty压缩包。同时在tool目录下创建一个用于存放第三方模块的目录,openresty-bundle。接下来就在openresty的官方网站下载最新版的openresty,我们下载的版本为openresty-1.9.15.1:

wget https://openresty.org/download/openresty-1.9.15.1.tar.gz

下载完毕之后进行解压: tar xvf openresty-1.9.15.1,然后进入openresty-1.9.15.1目录:cd openresty-1.9.15.1

  1. 安装相关软件包

sudo apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl

  1. 置与安装
  • 配置
./configure --prefix=/opt/openresty \
--with-luajit 
--with-http_iconv_module \
--with-http_postgres_module \
--with-pcre-jit \
--with-debug \
--add-module=/home/mike/tools/openresty-bundle/ngx_http_auth_request_module \
-j2
其中的相关参数说明如下:

```
--with-*** 安装一些内置的模块
--add-module 添加自定义的第三方模块
```

更多的配置参数可以使用命令: configure --help 查看。需要说明的是我们在配置的出现了某些错误,如下:

Error: You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.

我们采取如下的步骤来解决这个问题步骤如下:

  • 看看自己的主机环境是否安装了postgresql

dpkg -l | grep postgres

我们的主机中是安装了postgres,但是依旧报错,我想是不是版本太低了,所以我们把系统的中postgresql卸载[2]:

sudo apt-get --purge remove postgresql postgresql-9.3 postgresql-client postgresql-client-9.3 postgresql-client-common postgresql-common postgresql-contrib postgresql-contrib-9.3
并且删除相关的目录:

sudo rm -rf /var/lib/postgresql/
sudo rm -rf /var/log/postgresql/
sudo rm -rf /etc/postgresql/

然后在安装一个新版本[3],具体步骤如下:

  • 添加postgresql源

创建一个 /etc/apt/sources.list.d/pgdg.list文件,并且在文件中添加如下内容:

`deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main`
  • 导入签名密钥以及更新包列表
```
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
sudo apt-key add -
sudo apt-get update
```

但是有出现如下问题:

Looks like you are on Linux. Try installing libpq-dev for Debian/Ubuntu, or postgresql-devel for RHEL systems.

然后我们按照提示安装了 libq-dev, sudo apt-get install libpq-dev

  • 编译与安装

    make&&sudo make install

  • 配置一些环境变量

    我们是在.bashrc文件中配置了相关的环境变量

    export PATH=/opt/openresty/bin:/opt/openresty/nginx/sbin:$PATH

简单示例[4]

首先创建工作目录:nginx_work,使用命令:mkdir ~/nginx_work,然后进入nginx_work创建两个子文件夹,logsconf。其中,logs用于存放日志跟踪文件;conf用于存放配置文件。

下面在conf中创建一个nginx.conf,用于配置nginx。具体内容如下:

worker_processes 1
error_log logs/error.log;
events {
  worker_connections 1024;
}
http {
  server {
    listen 8080;
    location /hello_test {
      default_type text/html;
      content_by_lua 'ngx.say("<p>hello, world</p>")'
    }
  }
}

接着就是使用我们的配置文件启动nginx服务,命令如下:

cd ~/nginx_work/
nginx -p `pwd`/ -c conf/nginx.conf

这条命令一旦启动,就会把错误信息送往stderr 设备或者当前工作目录下的logs/error.log文件中。

之后,就可以使用curl命令进行测试或直接在浏览器中访问我们的 hello_testweb服务了。

mike@mike-X450JF:~/nginx_work$ curl http://localhost:8080/hello_test
<p>hello, world</p>

注明:本文遵守MIT版权。



相关内容

    暂无相关文章