使用 OpenResty 实现“你好世界” HTTP 示例
下面我将演示如何使用 OpenResty 实现一个“hello world”的 HTTP 接口。
首先,我们要确保我们使用的是 OpenResty 的 nginx。
export PATH=/usr/local/openresty/nginx/sbin:$PATH
which nginx
一般都是这个路径。
然后我们进入 home 目录。
cd ~/
在我们的例子中,创建并切换到一个名为 hello
的目录。
mkdir hello
cd hello
为 OpenResty 应用程序创建模板子目录。
mkdir logs conf
ls
然后让我们在“conf”子目录下创建一个简单的 nginx.conf 文件。
vim conf/nginx.conf
- 为了简单起见,让我们启用单个 nginx 工作进程。
- 我们最多启用 1024 个每工作进程的连接。
- 而这里我们配置一个 HTTP 服务器。
- 启用
reuseport
后监听 8080 端口。 - 最后我们给这个服务器添加一个根位置。
- 我们将默认的 MIME 类型设置为 text/plain。
- 我们嵌入一些 Lua 代码来输出一个响应体是“Hello World”。
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
选项来测试配置是否正确。
nginx -p $PWD/ -t
看起来很不错!
现在让我们真正启动这个 OpenResty 应用。
nginx -p $PWD/
并检查 nginx 进程是否在运行。
ps aux|grep nginx|grep -v /tmp/
很好啊! 它们都起来了。一个 master 进程,一个工作进程。
现在我们可以使用 curl
命令行工具向这个服务器发送一个测试的 HTTP 请求。
curl 'http://127.0.0.1:8080/'
我们确实得到了响应体 你好,世界
。
我们也可以尝试在网络浏览器中访问 / URI。
我们可以看到,它也按照预期显示“Hello World”。 如果你喜欢这个教程,请订阅这个博客网站和我们的 YouTube 频道 或 B 站频道。谢谢!
关于本文和关联视频
本文和相关联的视频都是完全由我们的 OpenResty Showman 产品从一个简单的剧本文件自动生成的。
关于作者
章亦春是开源 OpenResty® 项目创始人兼 OpenResty Inc. 公司 CEO 和创始人。
章亦春(Github ID: agentzh),生于中国江苏,现定居美国湾区。他是中国早期开源技术和文化的倡导者和领军人物,曾供职于多家国际知名的高科技企业,如 Cloudflare、雅虎、阿里巴巴, 是 “边缘计算“、”动态追踪 “和 “机器编程 “的先驱,拥有超过 22 年的编程及 16 年的开源经验。作为拥有超过 4000 万全球域名用户的开源项目的领导者。他基于其 OpenResty® 开源项目打造的高科技企业 OpenResty Inc. 位于美国硅谷中心。其主打的两个产品 OpenResty XRay(利用动态追踪技术的非侵入式的故障剖析和排除工具)和 OpenResty Edge(最适合微服务和分布式流量的全能型网关软件),广受全球众多上市及大型企业青睐。在 OpenResty 以外,章亦春为多个开源项目贡献了累计超过百万行代码,其中包括,Linux 内核、Nginx、LuaJIT、GDB、SystemTap、LLVM、Perl 等,并编写过 60 多个开源软件库。
关注我们
如果您喜欢本文,欢迎关注我们 OpenResty Inc. 公司的博客网站 。也欢迎扫码关注我们的微信公众号:
翻译
我们提供了英文版原文和中译版(本文) 。我们也欢迎读者提供其他语言的翻译版本,只要是全文翻译不带省略,我们都将会考虑采用,非常感谢!