nginx-playground

nginx-playground

交互式Nginx配置实验平台

nginx-playground提供在线交互式环境,供开发者实时编写和测试Nginx配置。该平台采用沙箱技术,确保安全性的同时免除本地安装需求。虽不再主动开发新功能,但仍维护现有功能并接受错误修复。项目包含完整开发指南,适合想深入理解Nginx配置的技术人员使用。

nginxplayground开发安全部署Github开源项目

nginx 游乐场

这段代码运行在 nginx-playground.wizardzines.com。 有一篇博客文章解释了设计理念。

基本不再维护

我已经几年没有对这段代码做任何更改,也不打算添加新功能。

不过我愿意合并错误修复,如果你发现了bug,我希望你能在issues中提出。

你可能想要更改的内容

以下是一些特定于我部署此代码的内容,如果你要做重大更改,你会想要删除或更改这些内容:

  • 页眉中的"a wizard zines project"
  • 分析工具(搜索"plausible")
  • fly.toml文件
  • FAQ部分

安全注意事项

可能存在安全漏洞,它给予用户很多访问权限,我个人只会在可能被攻破也不要紧的机器上运行这个软件。不过到目前为止,我还没有遇到任何已知的问题。

我将后端和前端运行在不同的服务器上,这样即使后端被攻破,也不会影响前端网站。你可以直接在GitHub Pages或类似平台上运行前端。

开发设置

开发前端很简单:

cd static
python3 -m http.server 8084 # 或者用任何你喜欢的方式启动一个网络服务器

它硬编码了后端的URL,所以我可以在不运行后端的情况下进行开发。

生成Tailwind CSS:(使用tailwind独立CLI

tailwindcss-macos-arm64 --content  'static/*.html,static/*.js' -o static/css/tailwind-classes.css

开发后端有点麻烦。它只能在Linux上运行(因为依赖bubblewrap),而且开发起来很痛苦,因为它要求nginx安装在特定目录下,并且必须以root身份运行。

以下是我在全新的Ubuntu 22.10安装上成功使用的设置说明:

sudo apt-get install golang nginx bubblewrap # 安装go-httpbin go install github.com/mccutchen/go-httpbin/v2/cmd/go-httpbin@latest # 仅将go-httpbin放入PATH是不够的 cp /go-httpbin的路径 /usr/bin # 必须有一个nginx用户 useradd -s /bin/false nginx # 启动服务器 bash scripts/run-local.sh

你可以用httpie测试它是否正常工作:

http post localhost:8080/run nginx_config=@examples/basic.conf command="http get localhost"

还有一个watch-local.sh脚本,它使用entr监视你的更改。

理论上应该可以修改bubblewrap的调用方式,使其无需root权限运行(并获得不那么可怕的开发体验),但我没能弄明白如何做到。如果你找到了让使用bubblewrap变得更容易的方法,我很乐意听听。

另外,你肯定可以修改这个项目,使其使用单独的nginx容器镜像,而不需要在主文件系统中安装nginx。

编辑推荐精选

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

下拉加载更多