【Lua】Debian环境下openresty的安装
OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器,它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项。
OpenResty 通过汇聚各种设计精良的 Nginx 模块,
从而将 Nginx 有效的变成一个强大的 Web 应用服务器,
这样, Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种C以及Lua 模块,
快速构造出足以胜任 10K+ 并发连接响应的超高性能Web 应用系统.
OpenResty 的目标是让你的Web服务直接跑在 Nginx 服务内部,
充分利用 Nginx 的非阻塞 I/O 模型,
不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如
MySQL,PostgreSQL,~Memcaches 以及 ~Redis 等都进行一致的高性能响应.
以上是官网的介绍。
根据官网的教程,判断自己的系统,用相应的方法下载安装。
安装依赖环境:
首先必须先把这些库 perl 5.6.1+, libreadline, libpcre, libssl安装到系统内:
apt-get install libreadline-dev libpcre3-dev libssl-dev perl
这里出现了一个问题:

表示安装软件包可能破坏依赖关系。这里可能是两个原因,一个是软件源,一个是包依赖关系。于是我用下面的方法解决:
首先我更新了我的源(这里是为了找到最快的更新源,可以跳过此条!):
apt-spy -d stable -a asia -t 10
ps:好多apt-spy教程都将最后一个测试时长设置为5s,不过实际中使用发现,在测试163的源时,由于连接时长有时会超过5秒,所以被判断为连接超时,但163的源却是最快的源,所以这里将连接时长增至10s,这样查找出来的源就没有问题了。
更新源:
apt-get update
更新软件包:
apt-get upgrade
更新完毕后再次用命令:
apt-get install libreadline-dev libpcre3-dev libssl-dev perl
错误依然出现,于是我尝试单独安装提示的几个包:
apt-get install console-setup initramfs-tools nfs-common
完毕后,再次使用安装命令:
apt-get install libreadline-dev libpcre3-dev libssl-dev perl
问题解决!
构建OpenResty
首先从官网下载最新的ngx_openresty源码包ngx_openresty-1.7.7.1.tar.gz。
然后解压、编译、安装:
tar -zxvf openresty-1.7.7.1.tar.gz
cd openresty-1.7.7.1/
./configure
make
make install
如果一切没有出现问题的话,OpenResty会被默认安装在/usr/local/openresty目录下。
当然,这些命令都是在root用户下运行的,非root用户前面加上sudo。
HelloWorld
所有的语言都是从HelloWorld开始的,这里也不免俗:
首先建立一个实验目录:
mkdir ~/work
cd ~/work
mkdir conf logs
nginx支持不同的配置文件启动。在conf文件夹下新建一个"nginx.conf",然后在里面添加下面的内容:
worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
server {
listen 8080;
location / {
default_type text/html;
content_by_lua '
ngx.say("<p>hello, world</p>")
';
}
}
}
随后启动nginx:
cd ~/work
nginx -p 'pwd'/ -c conf/nginx.conf
上面是官网使用的方法,随后出现了下面的问题:

来看看这个nginx启动命令:
-p 表示指定日志文件目录
-c 表示启动配置文件目录
于是将其改为:
nginx -p . -c conf/nginx.conf
这次没有出现错误。
随后使用命令查看nginx启动情况:
netstat -lnp | grep nginx
显示:

表示启动成功!
现在查看logs目录下的文件:

发现新出现了几个日志文件和pid文件。
随后测试:

浏览器访问 localhost:8080,显示hello,world。
OpenResty搭建成功!
【Lua】Debian环境下openresty的安装的更多相关文章
- Windows环境下MongoDB的安装与配置
MongoDB是一种高性能的文档型数据库,现介绍一下在Windows环境下MongDB的安装与配置 获取MongoDB 打开官方网站 www.mongodb.org,找到页面右上解的DownLoad链 ...
- window环境下glog的安装
window环境下glog的安装 分类: c++2014-09-23 14:12 32人阅读 评论(0) 收藏 举报 下载后解压,利用Visual Studio打开google-glog.sln.生成 ...
- Linux环境下Python的安装过程
Linux环境下Python的安装过程 前言 一般情况下,Linux都会预装 Python了,但是这个预装的Python版本一般都非常低,很多 Python的新特性都没有,必须重新安装新一点的版本,从 ...
- Go学习笔记(一):Ubuntu 环境下Go的安装
本文是根据<Go Web 编程>,逐步学习 Ubuntu 环境下go的安装的笔记. <Go Web 编程>的URL地址如下: https://github.com/astaxi ...
- Ubuntu环境下SSH的安装及使用
Ubuntu环境下SSH的安装及使用 SSH是指Secure Shell,是一种安全的传输协议,Ubuntu客户端可以通过SSH访问远程服务器 .SSH的简介和工作机制可参看上篇文章SSH简介及工作机 ...
- Windows环境下Android Studio安装和使用教程
Windows环境下Android Studio安装和使用教程 来源: http://www.cnblogs.com/liuhongfeng/archive/2015/12/30/5084896.ht ...
- 在ConoHa上Centos7环境下源码安装部署LNMP
本文记录了从源码,在Centos 7上手动部署LNMP环境的过程,为了方便以后对nginx和mariadb进行升级,这里采用yum的方式进行安装. 1.建立运行网站和数据库的用户和组 groupadd ...
- Redis学习——Windows环境下Redis的安装(二)
一.说明 之前介绍了Linux环境下Redis的安装,这次介绍一下Windows环境下Redis的安装,首先要讲的是,Redis官方只支持Linux,还好 Microsoft Open Tech gr ...
- 实验七:Xen环境下cirrOS的安装配置
实验名称: Xen环境下cirrOS的安装配置 实验环境: 这里的cirrOS和实验六中的busybox的启动方式相同,唯一的区别就是我们使用的cirrOS镜像中,已经包含了根文件系统.内核文件以及r ...
随机推荐
- oracle case when 在查询时候的用法。
select count(1), features_level from (SELECT i.features_level, i.features, T.BASEAMINE_ID, T.COLUMN_ ...
- .NET微信自定义分享标题、缩略图、超链接及描述的设置方法
前端Js引用: <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> ...
- FFmpeg.exe使用随笔
一.将图片合成为MP4 1.将照片合成为h264 ffmpeg -framerate 12 -i %3d.png -c:v libx264 -pix_fmt yuv420p test.h2642.将h ...
- 利用 Excel 公式进行数据整理
一个考勤机里导出来的数据明细: A3公式:=IF(MOD(ROW(Sheet1!U5),2)=1,Sheet1!U5,INDIRECT("Sheet1!U"&ROW(She ...
- ubuntu14.04 boost动态库找不到 libboost_system.so.1.58.0
error while loading shared libraries: : cannot open shared object file: No such file or directory == ...
- Java中的异常-Throwable-Error-Exception-RuntimeExcetpion-throw-throws-try catch
今天在做一个将String转换为Integer的功能时,发现Integer.parseInte()会抛出异常NumberFormatException. 函数Integer.parseInt(Stri ...
- 创建sa账号
①以windows身份验证的方式默认登陆 ②选择安全性下的登录名中的sa账号,右键选择属性,进行相关项的设置 ③将sa账号的状态中对应的登录项由之前的禁用,改为已启用 ④将sa对应的密码进行修改为自己 ...
- tinyxml学习5
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好. TinyXML是一个开源的解 ...
- lintcode-【中等】数飞机
题目: 给出飞机的起飞和降落时间的列表,用 interval 序列表示. 请计算出天上同时最多有多少架飞机? 样例: 对于每架飞机的起降时间列表:[[1,10],[2,3],[5,8],[4,7]], ...
- 7,SFDC 管理员篇 - 数据模型 - 公式和验证 1
1,自定义公式 Customize | Your Object | Fields | Add Fields Field SF的公式和Excel的公式差不多,都是支持各种运算和结果 例1,以opport ...