nginx-ui
무엇인가
Nginx UI는 nginx 설정 파일과 프로세스를 브라우저에서 관리하는 웹 서버다. nginx를 대체하는 프록시가 아니라, 이미 돌고 있는 nginx의 설정 트리와 서비스 상태를 조작하는 관리 계층에 해당한다.
어떻게 동작하나
백엔드는 Go, 프론트엔드는 Vue로 작성되며 배포물은 단일 실행 바이너리다. 사이트 설정 파일은 nginx 설정 폴더 아래 sites-available에 생성되고, 활성화한 사이트는 sites-enabled로 심볼릭 링크가 걸린다. 저장 시 설정 문법을 검사한 뒤 nginx를 리로드하고, 변경분은 자동 백업되어 버전 비교와 복원에 쓰인다. 클러스터 관리는 한 노드의 작업을 여러 노드로 미러링한다. Let's Encrypt 인증서는 UI에서 발급하고 만료 전에 자동 갱신한다. MCP 인터페이스를 노출해 AI 에이전트가 설정 관리와 서비스 제어를 호출할 수 있고, 웹 터미널과 nginx 로그 뷰어가 같은 UI에 붙는다.
무엇과 다른가
수동 운영과의 차이는 설정을 파일 편집 대상이 아니라 관리 대상으로 다룬다는 점이다. SSH로 접속해 설정을 고치고, nginx -t로 검사하고, systemctl reload를 호출하고, 백업을 따로 챙기는 절차가 UI의 저장 동작 하나로 합쳐진다. 편집기는 NgxConfigEditor 블록 편집기와 Ace 기반 코드 편집기 두 가지이며, 후자는 nginx 문법 강조와 LLM 코드 완성을 쓴다.
어떻게 쓰나
설치 후 첫 실행에서 http://<주소>:<포트>로 접속해 초기 설정을 마친다. Linux 설치 스크립트를 쓰면 systemd에 nginx-ui 서비스로 등록되어 systemctl로 제어한다. Docker 이미지 uozi/nginx-ui:latest는 nginx 이미지를 기반으로 하므로 호스트의 nginx를 대신해 컨테이너의 80·443 포트를 게시하는 방식으로 쓸 수 있다. 설정 전체는 암호화해 내보내고 새 환경에서 복원한다.
전제와 한계
Debian 계열 웹서버 설정 표준을 전제로 하므로 sites-available과 sites-enabled 구조를 그대로 쓴다. 비 Debian 계열에서는 nginx.conf를 같은 형식으로 바꿔야 한다. 배포 바이너리의 대상은 Linux 2.6.23 이상(x86·amd64·arm64·armv5~v7·mips32·mips64·riscv64·loongarch64), macOS 11 이상, Windows 10 이상, FreeBSD·OpenBSD·Dragonfly BSD·OpenWrt다.