Dashmox 仍在开发中。 更新会很频繁。免费套餐现已可用;Pro 和 Business 尚未推出。

安装免费套餐

每个网站都声明自己的运行环境,并只获得它所需要的

网站运行环境决定了由什么来响应请求:磁盘上的文件、PHP、Node.js 应用、容器,或一个转发到别处的名称。Dashmox 在您创建网站时询问,并只提供您所选的那一种,不多不少。

前面那一部分对每个网站都相同。不同的是它背后的那一行配置,而那一行是依据您所选的运行环境写出来的。

这五种

一个网站可以是什么。

在创建网站时选择,之后可以更改,无需重建任何内容。

静态文件

网站直接提供您上传的内容,服务器上不运行任何程序。没有需要维持运行的东西、没有需要更新的东西、也没有可被入侵的东西。

PHP

唯一自带数据库、一键安装器和扩展选项的运行环境。WordPress、Joomla、Laravel,以及其他任何用 PHP 写的东西。PHP 托管

Node.js 应用

您自己的程序,由服务器启动、监管和重启,前面有您的证书。Node.js 托管

容器

一个管理员已批准的镜像,以无特权方式运行,且根文件系统为只读。Docker 托管

转发到别处

该名称在此响应,而每个请求都转交给您指定的地址。仅管理员可操作。反向代理

为什么要问这个

因为一台靠猜的服务器会做多余的事。

通常的安排是:每个网站都是 PHP 网站,无论它是否曾包含过一行 PHP。

那是一个合理的默认设置,也是一个昂贵的设置。对一个由三百个 HTML 文件组成的站点来说,那些 PHP 进程仍然存在。在一个根本没有 PHP 文件的网站上,解释器仍可通过任何以 .php 结尾的路径访问到。设置页面仍为一个并不运行的东西提供版本和扩展选项。在您配置它的那天,这些都没造成危害,而它们全都是无人注意的攻击面。

声明网站运行什么,让这件事反过来了。这个问题只问一次,就在您为站点命名的那个表单里,而后续的一切都由这个答案决定。

  • 静态网站完全没有 PHP 服务。不是被禁用的服务:它没有进程池、没有套接字,配置中也没有写入任何 .php 处理规则。背后只有一行 try_files,用于提供文件或返回 404。
  • 每个 PHP 网站都有独立的进程池,以该网站的 Linux 账户身份运行,通过各自独立的套接字访问。其 PHP 版本和整个 php.ini 都归它自己所有,为某个高需求应用提高限额只会影响该应用。
  • 应用运行环境由系统托管,而非指望它自己不出问题。Node.js 应用或容器由服务器启动,退出后自动重启,重启机器后也会再次启动。一切都不依赖于某人是否留着一个终端窗口。
  • 面板提供正确的页面并隐藏不适用的页面。安装器和扩展页面属于 PHP 网站。从 PHP 改为其他类型的网站只会失去这两个页面,其余一切照旧:文件、域名、证书、邮件和备份都保留。
  • 限制在运行环境所在之处强制执行。CPU、内存和进程限制作用于实际运行的那个对象,因此繁忙的网站是被约束的,而不是吵闹的。

其结果是:一个网站的攻击面,就是它所做之事的攻击面。Dashmox 服务器上的一个静态营销站点就是一个目录加一个 Web 服务器,而 PHP 那条长长的漏洞尾巴对它来说是不可能发生的事,因为解释器从未被放在它前面。

改变主意

运行环境是一项设置,而不是一次重建。

打开网站、选择另一种运行环境、按下应用运行环境。它仍是同一个网站,只是背后换了引擎:域名保留、证书保留、文件原地不动、邮箱不受影响、备份依然可恢复。

这一点比听起来更重要,因为另一种做法才是人们实际会做的:新建第二个网站、把一切复制进去、迁移域名、重新签发证书,并希望自己没有忘记 DNS。一个可以更改的设置,是您在应用发生变化时真的会去改的设置;一个无法更改的设置,则成了把静态站点永远留在 PHP 上的理由。

有一条规则:网站必须已完成创建且状态正常,才能更改其运行环境。仍在创建中或处于错误状态的站点会被要求先稳定下来,因为在一个半成品网站下面更换运行的东西,结果会是一个两头都不是的网站。

无论您选择哪一种,都相同的部分

位于您应用之前的那些部件。

  • 它自己的 Linux 账户。每个网站都以独立用户身份运行,无法读取其他网站的文件,无论使用哪种运行环境。
  • 它的域名和免费证书。nginx 持有域名和 Let's Encrypt 证书并负责续期。您的应用程序完全不必了解 TLS。
  • 邮件、DNS、备份和计划任务。这些都不关心网站运行什么。Node.js 应用同样可以在其域名上拥有邮箱和每晚备份,与其他站点无异。
  • 隔离方式完全相同。安全页面上的各项防护适用于所有运行环境;而专属于 PHP 的那些防护,例如关闭 Web 后门所需的函数,在没有 PHP 的地方根本无从谈起。

所有功能

您的服务器,而其上的任何内容都不被计数。

完整的面板在一台服务器上免费使用,对网站、邮箱、DNS 区域和客户账户的数量均无限制。覆盖最多五台服务器的 Pro 尚未推出。