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+libreadlinelibpcrelibssl安装到系统内:

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的安装的更多相关文章

  1. Windows环境下MongoDB的安装与配置

    MongoDB是一种高性能的文档型数据库,现介绍一下在Windows环境下MongDB的安装与配置 获取MongoDB 打开官方网站 www.mongodb.org,找到页面右上解的DownLoad链 ...

  2. window环境下glog的安装

    window环境下glog的安装 分类: c++2014-09-23 14:12 32人阅读 评论(0) 收藏 举报 下载后解压,利用Visual Studio打开google-glog.sln.生成 ...

  3. Linux环境下Python的安装过程

    Linux环境下Python的安装过程 前言 一般情况下,Linux都会预装 Python了,但是这个预装的Python版本一般都非常低,很多 Python的新特性都没有,必须重新安装新一点的版本,从 ...

  4. Go学习笔记(一):Ubuntu 环境下Go的安装

    本文是根据<Go Web 编程>,逐步学习 Ubuntu 环境下go的安装的笔记. <Go Web 编程>的URL地址如下: https://github.com/astaxi ...

  5. Ubuntu环境下SSH的安装及使用

    Ubuntu环境下SSH的安装及使用 SSH是指Secure Shell,是一种安全的传输协议,Ubuntu客户端可以通过SSH访问远程服务器 .SSH的简介和工作机制可参看上篇文章SSH简介及工作机 ...

  6. Windows环境下Android Studio安装和使用教程

    Windows环境下Android Studio安装和使用教程 来源: http://www.cnblogs.com/liuhongfeng/archive/2015/12/30/5084896.ht ...

  7. 在ConoHa上Centos7环境下源码安装部署LNMP

    本文记录了从源码,在Centos 7上手动部署LNMP环境的过程,为了方便以后对nginx和mariadb进行升级,这里采用yum的方式进行安装. 1.建立运行网站和数据库的用户和组 groupadd ...

  8. Redis学习——Windows环境下Redis的安装(二)

    一.说明 之前介绍了Linux环境下Redis的安装,这次介绍一下Windows环境下Redis的安装,首先要讲的是,Redis官方只支持Linux,还好 Microsoft Open Tech gr ...

  9. 实验七:Xen环境下cirrOS的安装配置

    实验名称: Xen环境下cirrOS的安装配置 实验环境: 这里的cirrOS和实验六中的busybox的启动方式相同,唯一的区别就是我们使用的cirrOS镜像中,已经包含了根文件系统.内核文件以及r ...

随机推荐

  1. 是不是content-type: text/html的数据包一到,浏览器就肯定刷新页面?

    整理自:http://q.cnblogs.com/q/54726/ 是不是content-type: text/html的数据包一到,浏览器就肯定刷新页面? 或者说,浏览器收到的状态正常的conten ...

  2. LeetCode "Valid Perfect Square"

    Typical binary search.. but take care of data overflow if you are using C++ class Solution { public: ...

  3. vs2010中使用Nunit测试c#代码结果的正确性

    本文转载自:http://blog.csdn.net/pukuimin1226/article/details/8112151 http://www.nunit.org/index.php?p=dow ...

  4. Mysql 自定义HASH索引带来的巨大性能提升----[真相篇]

    推倒重来 俗话说no zuo no die why you try,这时候我又忍不住zuo了,吭哧吭哧的把解决过程发上博客,向全世界宣布,哥又搞定个难题. 剧情的发展往往是看起来主角完全掌握了局势的情 ...

  5. 关于华为x2中的外置SDCard的使用

    一.前要 记录一下最近在开发生产过程中遇到的一个小问题.在使用x2的华为7寸平板时,由于需要大内存去录制视频,所以就使用X2自带的SDCard口,插入1个128G的SDCard卡.但是Android ...

  6. view

    把view添加到某个视图的虾面 [self.superview insertSubview:smallCircle belowSubview:self]; // 返回两个数的根 return sqrt ...

  7. Corel Painter 15在Surface Pro 4下开启笔触压力感应

    之前一直是用Wacom的板子,所以只需要下载Wacom板子相应的驱动安装即可就能在PS和Corel Painter中开启压力感应来调节笔触出线的粗细.Surface Pro 4的笔是支持压力感应的,但 ...

  8. Array,ArrayList、List<T>、HashSet<T>、LinkedList<T>与Dictionary<K,V>

    Array: 数组在C#中最早出现的.在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. 但是数组存在一些不足的地方.在数组的两个数据间插入数据是很麻烦的,而且在声明数组的时候 ...

  9. Android插件化开发

    客户端开发给人的印象往往是小巧,快速奔跑.但随着产品的发展,目前产生了大量的门户型客户端.功能模块持续集成,开发人员迅速增长.不同的开发小组开发不同的功能模块,甚至还有其他客户端集成进入.能做到功能模 ...

  10. nginx for linux安装及安装错误解决

    nginx:下载地址:http://www.nginx.org/ 1.GCC编译器 安装指令 :yum  install -y  gcc 如果你所使用的是ubuntu,则安装指令为:apt-get i ...