OpenResty 最佳实践学习–安装和helloworld(1)

一:简介OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。OpenResty® 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发)

大家好,又见面了,我是全栈君。

一:简介


OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

OpenResty® 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将 Nginx 有效地变成一个强大的通用 Web 应用平台。这样,Web 开发人员和系统工程师可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,快速构造出足以胜任 10K 乃至 1000K 以上单机并发连接的高性能 Web 应用系统。

OpenResty® 的目标是让你的Web服务直接跑在 Nginx 服务内部,充分利用 Nginx 的非阻塞 I/O 模型,不仅仅对 HTTP 客户端请求,甚至于对远程后端诸如 MySQL、PostgreSQL、Memcached 以及 Redis 等都进行一致的高性能响应。

来自 OpenResty®官网


总结和拓展:
1.OpenResty 是 Nginx 与 Lua 的结合;
2.OpenResty 是多进程模式,会有一个 master 进程和多个 worker 进程。Master 进程管理 worker 进程,向各 worker 进程发送信号,监控 work 进程状态;
3.OpenResty 是异步非阻塞 ; 怎样理解阻塞非阻塞与同步异步的区别?知乎
4.子查询:OpenResty 中有三种方式发起子请求:capture、exec、redirect;
5.OpenResty 缓存机制。

二:安装

下载和安装在Openresty的官网都有介绍,但是这里还是要进行说明一下:下载和安装
我的环境是 Linux CentOs 32位。

1.下载安装包

我下载的是最新的Openresty版本, openresty-1.11.2.5.tar.gz,上传到服务器,进行解压,命令如下:

tar -xzvf openresty-VERSION.tar.gz

示例中的 VERSION替换成 OpenResty的版本号, 比如 1.11.2.5。

2.安装前的准备
yum install readline-devel pcre-devel openssl-devel gcc

yum在线安装需要收费,如果yum不可以使用,使用本地yum源安装,具体配置见 Linux学习——yum学习和光盘yum源搭建

3.安装

在解压完之后,进行安装:

tar -xzvf openresty-VERSION.tar.gz
cd openresty-VERSION/
./configure
make
sudo make install

示例中的 VERSION替换成 OpenResty的版本号, 比如 1.11.2.5。

默认, openresty 程序会被安装到/usr/local/openresty目录。

三:Hello World

1.第一种常规配置方案

如果之前有使用过nginx,那么这个配置和nginx很基本一致!
首先在新建两个目录,然后在conf/下新建nginx.conf ,我这里当做测试用,命令如下

mkdir openresty
cd openresty/
mkdir logs/ conf/
cd conf

touch nginx.conf
vim 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>")
            ';
        }
    }
}

然后启动openresty,启动命令和nginx一致。

/usr/local/openresty/nginx/sbin/nginx -c /dufy/openresty/conf/nginx.conf
#启动后查看一下服务
ps -ef | grep  nginx 

在服务器使用 curl http://localhost:8080/,输出

curl http://localhost:8080/
#<p>hello, world</p>

获取直接在浏览器访问,我的访问地址为 http://192.168.1.111:8080/,页面显示hello, world!

2.第二种Lua配置

在conf下面新建nginx.conf 和 lua.conf ,命令如下

touch nginx.conf  lua.conf

在lua.conf 中写内容:

#lua.conf
server {
        listen 8080;
        location /lua {
            default_type text/html;
            content_by_lua '
                ngx.say("<p>hello, world Lua!</p>")
            ';
        }
    }

在nginx.conf 中写内容,并且需要添加 lua模块路径:

worker_processes  1;
error_log logs/error.log;
events {
    worker_connections 1024;
}
http {
 #lua模块路径,多个之间”;”分隔,其中”;;”表示默认搜索路径,默认到/usr/servers/nginx下找 
lua_package_path "/usr/servers/lualib/?.lua;;";  #lua 模块 
lua_package_cpath "/usr/servers/lualib/?.so;;";  #c模块 
include lua.conf #lua.conf和nginx.conf 在同一目录下
}

启动openrestyrest,然后访问:

/usr/local/openresty/nginx/sbin/nginx -c /dufy/openresty/conf/nginx.conf
#启动后查看一下服务
ps -ef | grep  nginx 

curl http://localhost:8080/lua
#<p>hello, world Lua!</p>

获取直接在浏览器访问,我的访问地址为 http://192.168.1.111:8080/,页面显示hello, world Lua!

四:参考文章

openresty官网

第一章 安装OpenResty(Nginx+Lua)开发环境



如果帅气(美丽)、睿智(聪颖),和我一样简单善良的你看到本篇博文中存在问题,请指出,我虚心接受你让我成长的批评,谢谢阅读!
祝你今天开心愉快!


欢迎访问我的csdn博客,我们一同成长!

不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

博客首页http://blog.csdn.net/u010648555

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/121138.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 你的代码完成了吗?(末篇)——对系统总体的影响以及安全性

    你的代码完成了吗?(末篇)——对系统总体的影响以及安全性

  • Eclipse配置maven环境「建议收藏」

    1、首先下载maven,下载地址为:http://maven.apache.org/download.cgi,然后选择apache-maven-3.6.0-bin.tar.gz,如下图所示:2、然后新建一个maven目录,如下图所示:3、将下载的maven包解压到该目录中,如下图所示:4、配置环境变量,新建一个MAVEN_HOME,值为:D:\InstallFile\Mav…

  • 电商网站的搭建研究报告_连连跨境电商网站构建

    电商网站的搭建研究报告_连连跨境电商网站构建电商网站的搭建研究Researchontheconstructionofe-commercewebsite摘要互联网给全世界提供了最强大的网络平台,在互联网上不仅能同时快速传递大量的信息(数据、文件),而且还实现了网络营销、电子支付,提供各种新型的服务。经济全球化的发展态势和全球经济贸易的规模发展迫切需要一种新型的经济运作模式和商业运营模式。随着互联网的普及,还有各大电商平…

  • 计算机中的虚拟ip,如何设置电脑虚拟IP[通俗易懂]

    计算机中的虚拟ip,如何设置电脑虚拟IP[通俗易懂]2020-02-29阅读(86)“全国统一价”其本意是根据企业产品的成本、销售渠道、品牌价值、利润所得出的,是正规生产企业规范销售市场,保护品牌形象的一种控制手段。在现实生活中,生产商打出的所谓“全国统一零售价”充其量只能理解成对产品的指导价。从某种程度上2020-02-29阅读(104)1.火烧新野。曹操统一了北方后,南下攻打刘备,此时刘备投靠刘表,驻扎在新野,曹操派大将夏侯惇进攻新野,这时刘备…

    2022年10月12日
  • HTML标签学习

    HTML标签学习

  • IIS发生意外错误0x8ffe2740

    IIS发生意外错误0x8ffe2740主要是端口冲突   因为要完成一段ASP程序的调试,因此需要配置本地服务器IIS(InternetInformationServer),但安装完成IIS组件,分配好本地IP、本地路径和启用默认文档后,打开浏览器输入127.0.0.1,发现没有打开预想的网页,访问出现了错误。再打开控制面板->管理工具->Internet信息服务,发现默认网站处于停止状态,于是单击鼠标右键,从展

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号