우수한 소프트웨어와 실용적인 튜토리얼
Nginx 구성 시각적 구성 파일 생성, nginxWebUI 그래픽 관리 구성 도구
Nginx 구성 nginx웹UI 시각적 그래픽 관리입니다nginx 구성 도구웹 페이지를 이용하면 http 프로토콜 포워딩, tcp 프로토콜 포워딩, 리버스 프록시, 로드 밸런싱, 정적 HTML 서버, SSL 인증서 자동 적용, 갱신, 설정 등 nginx의 다양한 기능을 빠르게 설정할 수 있습니다. 설정 후 클릭 한 번으로 생성할 수 있습니다.nginx.conf파일을 생성하고 동시에 nginx를 제어하여 이 파일을 사용하여 시작 및 다시 로드하여 nginx의 그래픽 제어 폐쇄 루프를 완성합니다.
nginxWebUI는 여러 nginx 서버 클러스터를 관리할 수도 있습니다. 언제든지 클릭 한 번으로 해당 서버로 전환하여 nginx를 설정할 수 있습니다. 또한, 한 번의 클릭으로 서버 구성을 다른 서버와 동기화하여 클러스터 관리를 용이하게 할 수 있습니다.
Nginx 자체에는 복잡한 기능이 있습니다. NginxWebUI는 Nginx의 모든 기능을 지원할 수는 없지만, Nginx의 일상적인 기능 사용 구성은 지원할 수 있습니다. 플랫폼에서 지원하지 않는 Nginx 구성 항목의 경우, 사용자 지정 매개변수 템플릿을 사용하여 conf 파일에서 고유한 구성 매개변수를 생성할 수 있습니다.
이 프로젝트를 배포하면 더 이상 인터넷에서 nginx를 구성하기 위한 구성 코드를 검색할 필요가 없으며, SSL 인증서를 수동으로 신청하고 구성할 필요도 없습니다. 이 프로젝트에서 추가, 삭제, 수정 및 체크인만 하면 nginx를 쉽게 구성하고 시작할 수 있습니다.
Github 프로젝트 웹사이트:https://github.com/cym1102/nginxWebUI
nginxWebUI 공식 웹사이트:https://www.nginxwebui.cn/
Nginx란 무엇인가요?
Nginx는 역방향 프록시, 로드 밸런서, HTTP 캐시로도 사용할 수 있는 비동기 프레임워크 웹 서버입니다. 이 소프트웨어는 러시아 프로그래머 이고르 시소예프(Igor Sysoev)가 개발하여 2004년에 처음 공개되었습니다. 2011년에는 지원 서비스를 제공하기 위해 같은 이름의 회사가 설립되었습니다. 2019년 3월 11일, Nginx는 F5 Networks에 6억 7천만 달러에 인수되었습니다. Nginx는 BSD 유사 라이선스 조건에 따라 배포되는 무료 오픈 소스 소프트웨어입니다.
nginx 공식 웹사이트:https://nginx.org/
Nginx 구성 nginxWebUI 기술 문서
이 프로젝트는 Solon 기반의 웹 시스템이고, 데이터베이스는 H2를 사용하므로 서버에 데이터베이스를 설치할 필요가 없습니다.
이 시스템은 Let's Encrypt를 통해 인증서를 신청하고 acme.sh 스크립트를 사용하여 자동 신청 및 갱신을 수행합니다. 갱신이 활성화된 인증서는 매일 오전 2시에 갱신됩니다. 60일이 지난 인증서만 갱신됩니다. 인증서는 Linux에서만 발급됩니다.
TCP/IP 포워딩 구성 지원을 추가할 때 일부 하위 버전의 nginx를 재컴파일해야 할 수 있으며, --with-stream 매개변수를 추가하여 스트림 모듈을 설치할 수 있습니다. 그러나 Ubuntu 18.04에서는 공식 소프트웨어 라이브러리의 nginx에 이미 스트림 모듈이 포함되어 있으므로 재컴파일할 필요가 없습니다. 시스템에 TCP 포워딩 항목이 구성되어 있으면 ngx_stream_module.so의 구성 항목이 자동으로 적용됩니다. 활성화되어 있지 않으면 ngnix 구성 파일을 최대한 최적화하기 위해 해당 항목이 적용되지 않습니다.
jar 설치 지침
Ubuntu 운영 체제를 예로 들어 Java 런타임 환경과 nginx를 설치합니다.
우분투
apt update apt install openjdk-11-jdk apt install nginx
센토스
냠 설치 java-11-openjdk 냠 설치 nginx
윈도우
JDK 설치 패키지를 다운로드하세요: https://www.oracle.com/java/technologies/downloads/
nginx 다운로드: http://nginx.org/en/download.html
- JAVA 런타임 환경 구성
- JAVA_HOME : JDK 설치 디렉토리
- 경로 : JDK 설치 디렉토리\bin
- 컴퓨터를 다시 시작하세요
nginxWebUI 릴리스 패키지 jar의 최신 버전을 다운로드하세요.
리눅스
mkdir /home/nginxWebUI/ wget -O /home/nginxWebUI/nginxWebUI.jar http://file.nginxwebui.cn/nginxWebUI-3.4.4.jar
윈도우
브라우저를 사용하여 직접 다운로드하세요 http://file.nginxwebui.cn/nginxWebUI-3.4.4.jar D:/home/nginxWebUI/nginxWebUI.jar로
새로운 버전이 있는 경우 경로에 있는 버전만 수정하면 됩니다.
nginxWebUI 프로그램을 시작합니다
리눅스
nohup java -jar -Dfile.encoding=UTF-8 /home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &
윈도우
자바 -jar -Dfile.encoding=UTF-8 D:/home/nginxWebUI/nginxWebUI.jar --서버.포트=8080 --프로젝트.홈=D:/home/nginxWebUI/
매개변수 설명
--server.port는 포트를 차지하고 기본적으로 포트 8080으로 시작합니다.
--project.home 프로젝트 설정 파일 디렉토리로, 데이터베이스 파일, 인증서 파일, 로그 등을 저장합니다. 기본값은 /home/nginxWebUI/입니다.
--spring.database.type=mysql 다른 데이터베이스를 사용합니다. 값을 입력하지 않으면 로컬 h2 데이터베이스가 사용됩니다. MySQL은 선택 사항입니다.
--spring.datasource.url=jdbc:mysql://ip:port/nginxwebui 데이터베이스 URL
--spring.datasource.username=루트 데이터베이스 사용자
--spring.datasource.password=데이터베이스 패스
Linux 명령은 & 기호로 끝나며 이는 프로젝트가 백그라운드에서 실행 중임을 나타냅니다.
Docker 설치 지침
이 프로젝트는 x86_64/arm64/arm v7 플랫폼을 지원하는 Docker 이미지를 생성했으며, nginx와 nginxWebUI를 포함하여 nginx의 통합 관리 및 운영을 지원합니다.
Docker 컨테이너 환경을 설치하세요.
우분투
docker.io를 설치하세요
센토스
yum으로 도커 설치
이미지를 끌어오다
docker pull cym1102/nginxwebui:latest
컨테이너를 시작하세요
docker run -itd \ -v /home/nginxWebUI:/home/nginxWebUI \ -e BOOT_OPTIONS="--server.port=8080" \ --privileged=true \ --net=host \ cym1102/nginxwebui:latest
참고: 컨테이너를 시작할 때 --net=host 매개변수를 사용하여 로컬 포트를 직접 매핑하세요. 내부 nginx는 모든 포트를 사용할 수 있으므로 모든 로컬 포트를 매핑해야 합니다.
컨테이너는 /home/nginxWebUI:/home/nginxWebUI 경로를 매핑해야 합니다. 이 경로에는 데이터, nginx 설정 파일, 로그, 인증서 등 모든 프로젝트 데이터 파일이 저장됩니다. 이 디렉터리는 이미지 업그레이드 시 프로젝트 데이터가 손실되지 않도록 보장합니다. 백업에 유의하세요.
-e BOOT_OPTIONS 매개변수를 사용하여 Java 시작 매개변수를 입력할 수 있습니다. 이 매개변수를 사용하여 포트 번호를 변경할 수 있습니다. --server.port는 해당 포트를 사용합니다. 이 매개변수를 입력하지 않으면 기본적으로 8080 포트로 시작됩니다.
로그는 기본적으로 /home/nginxWebUI/log/nginxWebUI.log에 저장됩니다.
추가적으로: docker-compose를 사용할 경우, 설정 파일은 다음과 같습니다.
버전: "3.2" 서비스: nginxWebUi-server: 이미지: cym1102/nginxwebui:latest 볼륨: - 유형: bind 소스: "/home/nginxWebUI" 대상: "/home/nginxWebUI" 환경: BOOT_OPTIONS: "--server.port=8080" 권한: true 네트워크 모드: "host"
편집 노트
Maven을 사용하여 컴파일 및 패키징
mvn 클린 패키지
Docker를 사용하여 이미지 빌드
docker build -t nginxwebui:latest .
시작 추가
서비스 구성 편집
vim /etc/systemd/system/nginxwebui.service
[단위] 설명=NginxWebUI 이후=syslog.target 이후=network.target [서비스] 유형=simple 사용자=root 그룹=root 작업 디렉토리=/home/nginxWebUI ExecStart=/usr/bin/java -jar /home/nginxWebUI/nginxWebUI.jar 다시 시작=always [설치] WantedBy=multi-user.target
그런 다음 실행하세요
systemctl 데몬 재로드 systemctl nginxwebui.service 활성화 systemctl nginxwebui.service 시작
Nginx 구성 nginxwebui 사용 지침
비디오 튜토리얼: https://www.bilibili.com/video/BV18A4y1D7GZ
데모 주소: http://test.nginxwebui.cn:7070
사용자 이름: admin
비밀번호: admin
열려 있는 http://xxx.xxx.xxx.xxx:8080 홈페이지로 이동
로그인 페이지를 처음 열면 관리자 계정을 초기화하라는 메시지가 표시됩니다.
시스템에 접속 후 관리자 관리에서 관리자 계정을 추가 및 수정할 수 있습니다.
HTTP 매개변수 설정에서는 nginx의 HTTP 프로젝트를 설정하고 HTTP 포워딩을 수행할 수 있습니다. 몇 가지 일반적인 설정이 기본적으로 제공되며, 다른 필수 설정은 자유롭게 추가, 삭제, 수정 및 확인할 수 있습니다. 로그 추적을 활성화하고 로그 파일을 생성하려면 체크하십시오.
TCP 매개변수 설정에서는 nginx의 스트림 프로젝트 매개변수를 설정할 수 있지만, 대부분의 경우에는 설정할 필요가 없습니다.
리버스 프록시에서는 nginx의 리버스 프록시 즉, 서버 기능을 설정하고, SSL 기능을 활성화하고, 웹 페이지에서 바로 pem 파일과 키 파일을 업로드하거나, 시스템에 적용된 인증서를 이용하여 바로 http to https 기능을 활성화하고, http2 프로토콜을 활성화할 수 있습니다.
로드 밸런싱에서는 nginx의 로드 밸런싱, 즉 업스트림 기능을 구성할 수 있습니다. 리버스 프록시 관리에서는 구성된 로드 밸런싱 대상을 프록시로 선택할 수 있습니다.
HTML 정적 파일 업로드에서는 HTML 압축 패키지를 지정된 경로에 직접 업로드할 수 있습니다. 업로드 후에는 리버스 프록시에서 직접 사용할 수 있으므로 Linux에서 HTML 파일을 업로드하는 단계를 생략할 수 있습니다.
인증서 관리에서 인증서를 추가, 발급 및 갱신할 수 있습니다. 예약 갱신 기능을 활성화하면 만료 예정인 인증서가 자동으로 갱신됩니다. 참고: 인증서는 acme.sh의 DNS 모드를 사용하여 발급되며, Alibaba Cloud의 AliKey 및 AliSecret과 함께 사용해야 합니다. 먼저 AliKey 및 AliSecret을 신청하세요.
백업 파일 관리, 여기서 nginx.cnf의 백업 기록 버전을 볼 수 있으며 nginx에 오류가 발생하면 특정 기록 버전으로 롤백하도록 선택할 수 있습니다.
마지막으로 conf 파일이 생성되며, 이 파일은 수동으로 추가로 수정할 수 있습니다. 수정 사항이 올바른지 확인한 후 로컬 conf 파일을 덮어쓰고, 유효성 검사 및 재시작을 수행할 수 있습니다. 단일 nginx.conf 파일을 생성하거나 각 설정 파일을 도메인 이름별로 분리하여 conf.d 아래에 저장할 수 있습니다.
원격 서버 관리, 여러 개의 nginx 서버가 있는 경우 모든 서버에 nginxWebUI를 배포한 다음 그 중 하나에 로그인하여 원격 관리에 다른 서버의 IP와 사용자 이름 및 비밀번호를 추가하면 하나의 컴퓨터에서 모든 nginx 서버를 관리할 수 있습니다.
서버의 데이터 구성 및 인증서 파일을 다른 서버와 동기화할 수 있는 원클릭 동기화 기능을 제공합니다.
인터페이스 개발
이 시스템은 http 인터페이스 호출을 제공하며, http://xxx.xxx.xxx.xxx:8080/doc.html을 열어 스마트 문서 인터페이스 페이지를 봅니다.
인터페이스 호출은 HTTP 요청 헤더에 토큰을 추가해야 합니다. 토큰을 얻으려면 먼저 관리자 관리에서 사용자 인터페이스 호출 권한을 열고, 사용자 이름과 비밀번호를 사용하여 토큰 가져오기 인터페이스를 호출하여 토큰을 가져와야 합니다.
비밀번호를 복구하세요
로그인 비밀번호를 잊어버리거나 2단계 인증을 저장하지 않은 경우, 아래 튜토리얼에 따라 비밀번호를 검색하고 2단계 인증을 해제할 수 있습니다.
1. nginxWebUI 중지
pkill 자바
2. 비밀번호 검색 매개변수를 사용하여 nginxWebUI.jar를 실행합니다.
java -jar nginxWebUI.jar --project.home=/home/nginxWebUI/ --project.findPass=true
--project.home은 프로젝트 파일이 있는 디렉토리입니다.
--project.findPass 사용자 이름과 비밀번호를 인쇄할지 여부
성공적인 작업 후 모든 사용자 이름과 비밀번호를 인쇄하고 2단계 인증을 해제할 수 있습니다.
오픈스타 추천해요