openresty安装与简单示例
@author 0597agentzhu 2016/6/10
OpenResty是可以说是Nginx的一个扩展软件集合,它将Lua的简单、轻巧嵌入到nginx中。本文着重介绍openresty在ubuntu中的安装以及一个简单的示例。
安装openresty[1]
安装的环境是ubuntu14.04,64位。
- 下载最新版的openresty
首先我们在主目录下创建一个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
。
- 安装相关软件包
sudo apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl
- 置与安装
- 配置
./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
创建两个子文件夹,logs
和conf
。其中,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版权。