Eine Entwicklungsumgebung in einer Chroot-Umgebung in der Live-Umgebung zu betreiben, ist eine schreckliche Idee. Es erfüllt nicht Ihre Anforderung, die Entwicklungsumgebung von der Live-Umgebung zu isolieren. Es genügt ein kleiner Fehler, den Live-Server-Prozess anstelle des Entwicklungsservers abzubrechen oder den Entwicklungsserver auf Port 22 oder 80 warten zu lassen.
Sie können eine Entwicklungsumgebung als Chroot auf einem Entwicklercomputer ausführen. Dies ist jedoch schwieriger als das Konfigurieren einer virtuellen Maschine. Der einzige Grund, warum ich keine VM verwenden kann, ist, wenn Ihre Hardware zu alt ist, um eine VM bequem zu betreiben, was Sie nicht für den Fall halten. Eine VM bietet Ihnen eine eigenständige Netzwerkumgebung (damit Sie Dienste an ihren realen Ports mit ihrer realen Firewall testen können), eine eigenständige Prozessumgebung (damit Sie wissen, wie viel Arbeitsspeicher Sie wirklich benötigen und wie viel CPU Sie wirklich benötigen) .
Wenn die Leistung es zulässt, würden im Idealfall sowohl die Live-Umgebung als auch die Entwicklungsumgebung in VMs mit derselben VM-Technologie ausgeführt. Dadurch wird die Bereitstellung so risikoarm wie möglich.