如何在 K8s 环境中自动管理网关服务器 (使用 OpenResty Edge)
入门
Datong Sun , 2019 年 4 月 5 日 (创建于 2011 年 6 月 20 日)首先,您需要将 OpenResty 安装到您的系统中。
如果您使用的是 Linux,请查看 OpenResty 的官方 预构建包,查看您的 Linux 发行版是否得到支持。如果您使用官方预构建包,请将本文档中下面的 nginx
命令替换为 openresty
命令。
如果没有,您可以访问 下载 页面获取 OpenResty 的源代码压缩包,并在 安装 页面查看如何构建和安装到您的系统中。
HelloWorld
打印 hello world 输出到控制台的最简单方法是使用 OpenResty 附带的 resty 脚本。例如,在命令行中运行以下命令:
resty -e 'print("hello, world")'
它应该将以下行打印到 stdout 设备:
hello, world
本文档的其余部分详细介绍了如何运行一个非常高效的 HTTP 服务器,该服务器使用“hello world”进行通信。
如果您通过我们的官方二进制包安装 OpenResty,那么默认情况下 resty
工具应该对您的 PATH
环境可见。否则,您需要将以下行添加到您的 ~/.bashrc
或 ~/.bash_profile
文件中:
export PATH=/usr/local/openresty/bin:$PATH
我们假设您在 OpenResty 安装中使用默认安装前缀 /usr/local/openresty/
。
准备目录布局
我们首先为我们的实验创建一个单独的目录。您可以使用任意目录。这里为了简单起见,我们只使用 ~/work
mkdir ~/work
cd ~/work
mkdir logs/ conf/
请注意,我们还创建了 logs/
目录用于日志文件,以及 conf/
用于我们的配置文件。
准备 nginx.conf 配置文件
创建一个名为 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_block {
ngx.say("<p>hello, world</p>")
}
}
}
}
如果您熟悉 Nginx 配置,它应该看起来很熟悉。 OpenResty 仅仅是通过附加模块增强了 Nginx 的版本。您可以利用 Nginx 世界中现有的所有优点。
启动 Nginx 服务器
假设您已将 OpenResty 安装到 /usr/local/openresty
(这是默认值),我们将使我们 OpenResty 安装的 nginx
可执行文件在我们的 PATH
环境中可用:
PATH=/usr/local/openresty/nginx/sbin:$PATH
export PATH
然后我们用这种方式启动 nginx 服务器,使用我们的配置文件:
nginx -p `pwd`/ -c conf/nginx.conf
错误消息将发送到 stderr 设备或当前工作目录中的默认错误日志文件 logs/error.log
。
访问我们的 HelloWorld web 服务
我们可以使用 curl 来访问我们新的 web 服务,它显示 HelloWorld
curl http://localhost:8080/
如果一切正常,我们应该得到以下输出:
<p>hello, world</p>
您当然可以将您最喜欢的 web 浏览器指向位置 http://localhost:8080/
。
测试性能
有关详细信息,请参阅 基准测试。
下一步做什么
在 组件 页面查看每个组件的文档,并在 Nginx Wiki 网站 上查找与 Nginx 相关的资料。