下面我将演示如何使用OpenResty实现一个 "hello world "的HTTP接口。

screenshot 1

首先,我们要确保我们使用的是OpenResty的nginx。

1
2
export PATH=/usr/local/openresty/nginx/sbin:$PATH
which nginx

screenshot 2

一般都是这个路径。

然后我们进入home目录。

1
cd ~/

在我们的例子中,创建并切换到一个名为’hello’的目录。

1
2
mkdir hello
cd hello

screenshot 5

为OpenResty应用程序创建模板子目录。

1
2
mkdir logs conf
ls

screenshot 6

然后让我们在"conf"子目录下创建一个简单的nginx.conf文件。

1
vim conf/nginx.conf
  1. 为了简单起见,让我们启用单个nginx工作进程。
  2. 我们最多启用1024个每工作进程的连接。
  3. 而这里我们配置一个HTTP服务器。
  4. 启用’reuseport’后监听8080端口。
  5. 最后我们给这个服务器添加一个根位置。
  6. 我们将默认的MIME类型设置为text/plain。
  7. 我们嵌入一些Lua代码来发出一个响应体是 “Hello World”。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
worker_processes 1;

events {
worker_connections 1024;
}

http {
server {
listen 8080 reuseport;

location / {
default_type text/plain;
content_by_lua_block {
ngx.say("Hello World")
}
}
}
}

现在让我们用’-t’选项来测试配置是否正确。

1
nginx -p $PWD/ -t

screenshot 17

看起来很不错!

现在让我们真正启动这个OpenResty应用。

1
nginx -p $PWD/

screenshot 19

并检查nginx进程是否在运行。

1
ps aux|grep nginx|grep -v /tmp/

screenshot 20

很好啊! 它们都起来了。一个 master 进程,一个工作进程。

现在我们可以使用curl命令行工具向这个服务器发送一个测试的HTTP请求。

1
curl 'http://127.0.0.1:8080/'

我们确实得到了响应体’你好,世界’。

screenshot 23

我们也可以尝试在网络浏览器中访问/ URI。

screenshot 25

我们可以看到,它也按照预期显示 “Hello World”。

如果你喜欢这个视频,请订阅我们的 YouTube 频道B 站频道。谢谢!

关于本文和关联视频

本文和相关联的视频都是完全由我们的 OpenResty Demo 系统从一个极简单的剧本文件自动生成的。

关于作者

章亦春是开源项目 OpenResty® 的创始人,同时也是 OpenResty Inc. 公司的创始人和 CEO。他贡献了许多 Nginx 的第三方模块,相当多 Nginx 和 LuaJIT 核心补丁,并且设计了 OpenResty XRay 等产品。

关注我们

如果您觉得本文有价值,非常欢迎关注我们 OpenResty Inc. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:

我们的微信公众号

翻译

我们提供了英文版原文和中译版(本文) 。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!